com.j_phone.util
クラス FixedPoint

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

public class FixedPoint
extends java.lang.Object

固定小数点演算クラス。 整数部、小数部ともに16bitの精度を持つ。 内部的には、もとの値の 65536 倍の値で保持されている。 内部演算精度は 64bit(整数部 32bit、小数部 32bit)。


コンストラクタの概要
FixedPoint()
          FixedPointコンストラクタ 0.0になります。
FixedPoint(int value)
          FixedPointコンストラクタ 上位16bitが整数部になり、下位16bitが小数部になる。
 
メソッドの概要
 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コンストラクタ 上位16bitが整数部になり、下位16bitが小数部になる。
パラメータ:
value - 新しい値
メソッドの詳細

getInteger

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

getDecimal

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

setValue

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

add

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

add

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

subtract

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

subtract

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

multiply

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

multiply

public FixedPoint multiply(int n)
乗算する。
パラメータ:
n - 乗数 (65536 倍した整数)

divide

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

divide

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

sin

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

cos

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

tan

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

asin

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

acos

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

atan

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

sqrt

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

inverse

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

pow

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

isInfinite

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

clone

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

getPI

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

getMaximum

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

getMinimum

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