com.j_phone.util
クラス FixedPoint

java.lang.Object
  |
  +--com.j_phone.util.FixedPoint

public class FixedPoint
extends java.lang.Object

FixedPointクラスは、固定小数点演算機能を提供します。FixedPointオブジェクトは、ビット 16 を 1 の位とする固定小数点の数値を保持します。整数部、小数部ともに 16 ビットの精度を持ちます。内部演算制度は 64 ビット(整数部 32 ビット、小数部 32 ビット)です。

FixedPointクラスのコンストラクタおよび四則演算のメソッドのうち、int型の引数を与えるメソッドでは、引数はビット 16 を 1 の位とする固定小数とみなされます。

整数部と小数部の取得について、下記の点に注意してください:


コンストラクタの概要
FixedPoint()
          FixedPointコンストラクタ 0.0になります。
FixedPoint(int value)
          FixedPointコンストラクタ 上位 16 ビットが整数部になり、下位 16 ビットが小数部になります。
 
メソッドの概要
 FixedPoint acos(FixedPoint v)
          arccosを計算します。
 FixedPoint add(FixedPoint n)
          加算します。
 FixedPoint add(int n)
          加算します。
 FixedPoint asin(FixedPoint v)
          arcsinを計算します。
 FixedPoint atan(FixedPoint v)
          arctanを計算します。
 FixedPoint clone()
          コピーします。
 FixedPoint cos(FixedPoint r)
          cosを計算します。
 FixedPoint divide(FixedPoint n)
          除算します。
 FixedPoint divide(int n)
          除算します。
 int getDecimal()
          小数部を取得します。
 int getInteger()
          整数部を取得します。
static FixedPoint getMaximum()
          最大値を取得します。
static FixedPoint getMinimum()
          最小値を取得します。
static FixedPoint getPI()
          πを取得します。
 FixedPoint inverse()
          逆数を計算します。
 boolean isInfinite()
          オーバーフローしているかどうかチェックします。
 FixedPoint multiply(FixedPoint n)
          乗算します。
 FixedPoint multiply(int n)
          乗算します。
 FixedPoint pow()
          2乗します。
 void setValue(int value)
          新しい数値を設定します。
 FixedPoint sin(FixedPoint r)
          sinを計算します。
 FixedPoint sqrt()
          平方根を計算します。
 FixedPoint subtract(FixedPoint n)
          減算します。
 FixedPoint subtract(int n)
          減算します。
 FixedPoint tan(FixedPoint r)
          tanを計算します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FixedPoint

public FixedPoint()
FixedPointコンストラクタ 0.0になります。

FixedPoint

public FixedPoint(int value)
FixedPointコンストラクタ 上位 16 ビットが整数部になり、下位 16 ビットが小数部になります。
パラメータ:
value - 新しい値
メソッドの詳細

getInteger

public int getInteger()
整数部を取得します。 負の数の場合、たとえば -1.5 の整数部は -1 として取得します。
戻り値:
整数部

getDecimal

public int getDecimal()
小数部を取得します。 負の数の場合、たとえば -1.5 の小数部は (-0.5) * 65536 = -32768 として取得します。
戻り値:
小数部

setValue

public void setValue(int value)
新しい数値を設定します。 上位 16 ビットが整数部になり、下位 16 ビットが小数部になります。
パラメータ:
value - 新しい値 (65536 倍した整数)

add

public FixedPoint add(FixedPoint n)
加算します。
パラメータ:
n - 加算数
戻り値:
計算結果が入ったthisインスタンス

add

public FixedPoint add(int n)
加算します。
パラメータ:
n - 加算数 (65536 倍した整数)
戻り値:
計算結果が入ったthisインスタンス

subtract

public FixedPoint subtract(FixedPoint n)
減算します。
パラメータ:
n - 減算数
戻り値:
計算結果が入ったthisインスタンス

subtract

public FixedPoint subtract(int n)
減算します。
パラメータ:
n - 減算数 (65536 倍した整数)
戻り値:
計算結果が入ったthisインスタンス

multiply

public FixedPoint multiply(FixedPoint n)
乗算します。
パラメータ:
n - 乗数
戻り値:
計算結果が入ったthisインスタンス

multiply

public FixedPoint multiply(int n)
乗算します。
パラメータ:
n - 乗数 (65536 倍した整数)
戻り値:
計算結果が入ったthisインスタンス

divide

public FixedPoint divide(FixedPoint n)
除算します。
パラメータ:
n - 除数
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 除数が0の場合

divide

public FixedPoint divide(int n)
除算します。
パラメータ:
n - 除数 (65536 倍した整数)
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 除数が0の場合

sin

public FixedPoint sin(FixedPoint r)
sinを計算します。
パラメータ:
r - 角度(ラジアン)
戻り値:
計算結果が入ったthisインスタンス

cos

public FixedPoint cos(FixedPoint r)
cosを計算します。
パラメータ:
r - 角度(単位はラジアン)
戻り値:
計算結果が入ったthisインスタンス

tan

public FixedPoint tan(FixedPoint r)
tanを計算します。
パラメータ:
r - 角度(単位はラジアン)
戻り値:
計算結果が入ったthisインスタンス

asin

public FixedPoint asin(FixedPoint v)
arcsinを計算します。値域は -π/2 <= θ <= π/2。
パラメータ:
v - 値
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 値が -1 から +1 の範囲になかった場合

acos

public FixedPoint acos(FixedPoint v)
arccosを計算します。値域は 0 <= θ <= π。
パラメータ:
v - 値
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 値が -1 から +1 の範囲になかった場合

atan

public FixedPoint atan(FixedPoint v)
arctanを計算します。値域は -π/2 < θ < π/2。
パラメータ:
v - 値
戻り値:
計算結果が入ったthisインスタンス

sqrt

public FixedPoint sqrt()
平方根を計算します。
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 負の値だった場合

inverse

public FixedPoint inverse()
逆数を計算します。
戻り値:
計算結果が入ったthisインスタンス
例外:
ArithmeticException - 値が0の場合

pow

public FixedPoint pow()
2乗します。
戻り値:
計算結果が入ったthisインスタンス

isInfinite

public boolean isInfinite()
オーバーフローしているかどうかチェックします。
戻り値:
true:オーバーフロー

clone

public FixedPoint clone()
コピーします。
戻り値:
中身が同じFixedPoint

getPI

public static FixedPoint getPI()
πを取得します。
戻り値:
π

getMaximum

public static FixedPoint getMaximum()
最大値を取得します。
戻り値:
最大値

getMinimum

public static FixedPoint getMinimum()
最小値を取得します。
戻り値:
最小値