![]() ![]() ![]()
|
SophiaFramework 2.1 |
BREW では浮動小数点数は double 型を使用してください。 float 型を使うことはできません。 また、浮動小数点数の演算には C++ 言語の演算子を使ってはいけません。 必ず次の関数を使用して操作する必要があります。
| 関数 | 意味 |
|---|---|
| double FASSIGN_INT(int32 val) | 整数を代入 |
| double FASSIGN_STR(char *pszFloat) | 文字列を解析して代入 |
| double FADD(double x, double y) | 加算 |
| double FSUB(double x, double y) | 減算 |
| double FMUL(double x, double y) | 乗算 |
| double FDIV(double x, double y) | 除算 |
| boolean FCMP_E(double x, double y) | 等しいか判定 |
| boolean FCMP_G(double x, double y) | 大きいか判定 |
| boolean FCMP_GE(double x, double y) | 以上であるか判定 |
| boolean FCMP_L(double x, double y) | 小さいか判定 |
| boolean FCMP_LE(double x, double y) | 以下であるか判定 |
たとえば、(x + y) * z を計算するには、次のように記述する必要があります。
double x, y, z; z = FMUL(FADD(x, y), z);
これらの関数を使用する煩雑さを避けるために、 SophiaFramework には SFUDouble クラスが用意されています。 SFUDouble は double 型の値をカプセル化しており、 以下の例に示すように C++ の演算子を使って自然な記述で計算ができます。
SFUDouble num1(255);
SFUDouble num2(123.5);
SFUDouble num3;
num3 = (num1 + num2) / (num1 - num3);
if (num3 < num1) {
...
}
double value = num3.Value();
| Copyright(C) 2003 Sophia Cradle Inc., All Rights Reserved. |
![]() ![]() ![]()
|