トップ 一覧 検索 ヘルプ RSS ログイン

Palm OS Programmer's API Reference/36の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[← 35 章に戻る|Palm OS Programmer's API Reference/35]] [[↑トップへ|Palm OS Programmer's API Reference]] [[37 章に進む →|Palm OS Programmer's API Reference/37]]
----

{{anchor top}}

この章の索引

*{{goto 浮動小数点数マネージャ データ構造体,浮動小数点数マネージャ データ構造体}}
**{{goto FlpCompDouble,FlpCompDouble}}
**{{goto FlpDoubleBits,FlpDoubleBits}}
*{{goto 浮動小数点数マネージャ関数,浮動小数点数マネージャ関数}}
**{{goto FlpAToF,FlpAToF}}
**{{goto FlpBase10Info,FlpBase10Info}}
**{{goto FlpBufferAToF,FlpBufferAToF}}
**{{goto FlpBufferCorrectedAdd,FlpBufferCorrectedAdd}}
**{{goto FlpBufferCorrectedSub,FlpBufferCorrectedSub}}
**{{goto FlpCorrectedAdd,FlpCorrectedAdd}}
**{{goto FlpCorrectedSub,FlpCorrectedSub}}
**{{goto FlpFToA,FlpFToA}}
**{{goto FlpGetExponent,FlpGetExponent}}
**{{goto FlpGetSign,FlpGetSign}}
**{{goto FlpIsZero,FlpIsZero}}
**{{goto FlpNegate,FlpNegate}}
**{{goto FlpSetNegative,FlpSetNegative}}
**{{goto FlpSetPositive,FlpSetPositive}}
**{{goto FlpVersion,FlpVersion}}

----

!!!36 浮動小数点数マネージャ

この章では、以下に示す浮動小数点数マネージャのための参照資源を提供します。

*{{goto 浮動小数点数マネージャ データ構造体,浮動小数点数マネージャ データ構造体}}
*{{goto 浮動小数点数マネージャ関数,浮動小数点数マネージャ関数}}

浮動小数点数マネージャ API はヘッダ ファイル {{span style='color:blue;font-family:monospace;',FloatMgr.h}} で定義されています。浮動小数点数マネージャについての追加情報は、''Palm OS Programmer's Companion, vol. I'' の[[「浮動小数点数」|Palm OS Programmer's Companion Volume I/11-9]]を参照してください。


!!{{anchor 浮動小数点数マネージャ データ構造体}}浮動小数点数マネージャ データ構造体 {{goto top,^TOP^}}


!{{anchor FlpCOmpDouble}}FlpCompDouble 構造体 {{goto top,^TOP^}}

'''目的'''

不動小数点数マネージャ関数は、{{span style='color:blue;font-family:monospace;',FlpDouble}} 型の値を受け入れ、要求します。{{span style='color:blue;font-family:monospace;',FlpCompDouble}} 共用体は、倍精度数としても、{{span style='color:blue;font-family:monospace;',FlpDouble}} としても解釈できる値を定義することを可能にします。さらに、この共用体は、倍精度浮動小数点数の構成するパーツへの容易なアクセスを提供するフィールドを保持します。

'''Prototype'''

 typedef union {
 	double d;
 	FlpDouble fd;
 	UInt32 ul[2];
 	FlpDoubleBits fdb;
 } FlpCompDouble

'''フィールド'''

*{{span style='color:blue;font-family:monospace;',d}}
**{{span style='color:blue;font-family:monospace;',double}} としての値へのアクセスを提供します。
*{{span style='color:blue;font-family:monospace;',fd}}
**{{span style='color:blue;font-family:monospace;',FlpDouble}} としての値へのアクセスを提供します。{{span style='color:blue;font-family:monospace;',FlpDouble}} は多くの浮動小数点マネージャ関数とやり取りできるデータです。
*{{span style='color:blue;font-family:monospace;',ul}}
**倍精度整数としての値へのアクセスを提供します。
*{{span style='color:blue;font-family:monospace;',fdb}}
**ある特定のフィールドへのアクセスを提供します。


!{{anchor FlpDoubleBits}}FlpDoubleBits 構造体 {{goto top,^TOP^}}

この構造体は IEEE-754 倍精度浮動小数点数の構成パーツへの直接のアクセスを提供します。{{span style='color:blue;font-family:monospace;',FlpDoubleBits}} から {{span style='color:blue;font-family:monospace;',double}} 型に変換するには {{goto FlpCompDouble,FlpCompDouble}} 共用体を使用してください。

'''Prototype'''

 typedef struct {
 	UInt32 sign : 1;
 	Int32 exp : 11;
 	UInt32 manH : 20;
 	UInt32 manL;
 } FlpDoubleBits

'''フィールド'''

*{{span style='color:blue;font-family:monospace;',sign}}
**符号ビット。{{goto FlpGetSign,FlpGetSign()}} マクロを使用して符号ビットを取得し、{{goto FlpNegate,FlpNegate()}}, {{goto FlpSetNegative,FlpSetNegative()}}, {{goto FlpSetPositive,FlpSetPositive()}} マクロを使って符号ビットをセットすることができます。
*{{span style='color:blue;font-family:monospace;',exp}}
**指数を表すビット(列)。{{goto FlpGetExponent,FlpGetExponent()}} マクロを使って指数値を取得することができます。
*{{span style='color:blue;font-family:monospace;',manH}}
**仮数部の上位 20 ビット。
*{{span style='color:blue;font-family:monospace;',manL}}
**仮数部の下位 32 ビット。


!{{anchor 不動小数点数マネージャ関数}}不動小数点数マネージャ関数 {{goto top,^TOP^}}


!{{anchor FlpAToF}}FlpAToF 関数 {{goto top,^TOP^}}

'''目的'''

null で終了する ASCII 文字列を 64 ビット浮動小数点数に変換します。文字列は以下のフォーマットでなければなりません。

{{span style='color:blue;font-family:monospace;',"[+|-][digits][.][digits][e|E[+|-][digits]]"}}

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 FlpDouble FlpAToF (
 	const Char *s
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ s}}

'''返り値'''

文字列の不動小数点数としての値を返します。

'''コメント'''

数の仮数部は 32 ビットまでに制限されています。

この関数は ISO C ライブラリ関数の {{span style='color:blue;font-family:monospace;',atof}} と互換性を持つくらいに近いものです。{{span style='color:blue;font-family:monospace;',atof}} は以下のフォームを要求します。

{{span style='color:blue;font-family:monospace;',"[+|-]digits[.][digits][(e|E)[+|-]digits]"}}

Palm OS 1.0 の浮動小数点数マネージャ(これは Palm OS 4.0 まで使うことができました。しかし含まれてはいませんでした)への下位互換を維持するために、この関数はすべての「digits」セクションをオプションと見なします。以下の表でいくつかのサンプル文字列に対する ISO と Palm OS の振る舞いを示します。

,'''文字列''','''ISO''','''>= Palm OS 4.0''',"'''< Palm OS 4.0''' {{goto 補足1,補足1}}",'''NOTES'''
,"+",+0,+0,+0,
,"""0.3""",0.3,0.3,0.3,
,"""0.3e123""",0.3e123,0.3e123,0.3e12,古い浮動小数点数マネージャは 1 または 2 桁の指数を受け付けます。
,"""+1""",1,1,+0,"古い浮動小数点数マネージャは '+' 符号で始まることを認めません。"
,"""1e+2""",1e2,1e2,1,"古い浮動小数点数マネージャは指数の中に '+' 符合があることを認めません。"
,"""0.3E3""",0.3e3,0.3e3,0.3,"古い浮動小数点数マネージャは大文字 'E' の指数マークを認めません。"
,"""4294967297""",4294967297,4294967297,1,"古い浮動小数点数マネージャは長整数を使用し、丸めを行います。"

{{anchor 補足1}}古い浮動小数点数マネージャの使用については [[付録 C 「1.0 浮動小数点数マネージャ」|Palm OS Programmer's API Reference/C]] で説明されています。

{{span style='color:blue;font-family:monospace;',atof}} とは異なり、{{span style='color:blue;font-family:monospace;',FlpAToF}} はスペース文字で始まることを認めません。また、'.' 以外の小数点文字も認めません。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC ユーザはこの関数の代わりに {{goto FlpBufferAToF,FlpBufferAToF()}} を使わなくてはなりません。

'''参照'''

{{goto FlpFToA,FlpFToA}}


!{{anchor FlpBase10Info}}FlpBase10Info 関数 {{goto top,^TOP^}}

'''目的'''

浮動小数点数の基数 10 フォームの詳細情報: 基数 10 の仮数、指数、符号を抽出します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 Err FlpBase10Info (
 	FlpDouble a,
 	UInt32 *mantissaP,
 	Int16 *exponentP,
 	Int16 *signP
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ a}}
**浮動小数点数
*{{span style='color:blue;font-family:monospace;',← mantissaP}}
**基数 10 の仮数
*{{span style='color:blue;font-family:monospace;',← exponentP}}
**基数 10 の指数
*{{span style='color:blue;font-family:monospace;',← signP}}
**符号: 数が負の場合は 1、そうでない場合は 0

'''返り値'''

エラーが無い場合は 0 を返します。与えられた浮動小数点数が数でない(NaN)または無限数の場合は {{span style='color:blue;font-family:monospace;',flpErrOutOfRange}} を返します。

'''コメント'''

仮数は、整数として表示されるとき少なくとも 8 桁になるように、正規化されます。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpGetExponent,FlpGetExponent()}}, {{goto FlpGetSign,FlpGetSign()}}


!{{anchor FlpBufferAToF}}FlpBufferAToF 関数 {{goto top,^TOP^}}

'''目的'''

null で終了する ASCII 文字列を浮動小数点数に変換します。文字列のフォーマットは {{span style='color:blue;font-family:monospace;',"[-]x[.]yyyyyyyy[e[-]zz]"}} でなければなりません。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 void FlpBufferAToF (
 	FlpDouble *result,
 	const Char *s
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',← result}}
**返り値が収められている構造体へのポインタ
*{{span style='color:blue;font-family:monospace;',→ s}}
**変換される ASCII 文字列へのポインタ

'''返り値'''

浮動小数点数としての文字列の値を返します。

'''コメント'''

この関数についての完全な説明は {{goto FlpAToF,FlpAToF()}} を参照してください。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC が返すデフォルトで実装されている構造体は、ROM をビルドするのに使用されるコンパイラの構造体とは異なります。結果として、GCC ユーザは {{goto FlpAToF,FlpAToF()}} の代わりにこの関数を使わなくてはなりません。CodeWarrior ユーザはどちらの関数でも使用することができます; それらはバイナリで互換性があります。


!{{anchor FlpBufferCorrectedAdd}}FlpBufferCorrectedAdd 関数 {{goto top,^TOP^}}

'''目的'''

2 つの浮動小数点数の加算を行い、結果が 0 になるべきだが 0 に近い値になるときに最下位ビット エラーの訂正を行います。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 void FlpBufferCorrectedAdd (
 	FlpDouble *result,
 	FlpDouble firstOperand,
 	FlpDouble secondOperand,
 	Int16 howAccurate
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',← result}}
**返り値が収められている構造体へのポインタ
*{{span style='color:blue;font-family:monospace;',→ firstOperand}}
**加算される 2 つの数の最初の数
*{{span style='color:blue;font-family:monospace;',→ secondOperand}}
**加算される 2 つの数の 2 番目の数
*{{span style='color:blue;font-family:monospace;',→ howAccurate}}
**結果を強制的に 0 にしない指数の最小差。2 つのオペランドの小さいほうの指数と計算結果との指数の差がこの値を超える場合、この関数によって返される値は強制的に 0 になります。デフォルト レベルの精度にする場合は、このパラメータに 0 の値を与えます。(この場合、48 の {{span style='color:blue;font-family:monospace;',howAccurate}} 値にした場合と等価です。)

'''返り値'''

計算結果を返します。

'''コメント'''

この関数の完全な説明は {{goto FlpCorrectedAdd,FlpCorrectedAdd()}} を参照してください。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC が返すデフォルトで実装されている構造体は、ROM をビルドするのに使用されるコンパイラの構造体とは異なります。結果として、GCC ユーザは {{goto FlpAToF,FlpAToF()}} の代わりにこの関数を使わなくてはなりません。CodeWarrior ユーザはどちらの関数でも使用することができます; それらはバイナリで互換性があります。


!{{anchor FlpBufferCorrectedSub}}FlpBufferCorrectedSub 関数 {{goto top,^TOP^}}

'''目的'''

2 つの浮動小数点数の減算を行い、結果が 0 になるべきだが 0 に近い値になるときに最下位ビット エラーの訂正を行います。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 void FlpBufferCorrectedSub (
 	FlpDouble *result,
 	FlpDouble firstOperand,
 	FlpDouble secondOperand,
 	Int16 howAccurate
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',← result}}
**返り値が収められている構造体へのポインタ
*{{span style='color:blue;font-family:monospace;',→ firstOperand}}
**{{span style='color:blue;font-family:monospace;',secondOperand}} が引かれる値
*{{span style='color:blue;font-family:monospace;',→ secondOperand}}
**{{span style='color:blue;font-family:monospace;',firstOperand}} から引く値
*{{span style='color:blue;font-family:monospace;',→ howAccurate}}
**結果を強制的に 0 にしない指数の最小差。2 つのオペランドの小さいほうの指数と計算結果の指数との差がこの値を超える場合、この関数によって返される値は強制的に 0 になります。デフォルト レベルの精度にする場合は、このパラメータに 0 の値を与えます。(この場合、48 の {{span style='color:blue;font-family:monospace;',howAccurate}} 値にした場合と等価です。)

'''返り値'''

計算結果を返します。

'''コメント'''

この関数の完全な説明は {{goto FlpCorrectedSub,FlpCorrectedSub()}} を参照してください。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC が返すデフォルトで実装されている構造体は、ROM をビルドするのに使用されるコンパイラの構造体とは異なります。結果として、GCC ユーザは {{goto FlpAToF,FlpAToF()}} の代わりにこの関数を使わなくてはなりません。CodeWarrior ユーザはどちらの関数でも使用することができます; それらはバイナリで互換性があります。


!{{anchor FlpCorrectedAdd}}FlpCorrectedAdd 関数 {{goto top,^TOP^}}

'''目的'''

2 つの浮動小数点数の加算を行い、結果が 0 になるべきだが 0 に近い値になるときに最下位ビット エラーの訂正を行います。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 FlpDouble FlpCorrectedAdd (
 	FlpDouble firstOperand,
 	FlpDouble secondOperand,
 	Int16 howAccurate
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ firstOperand}}
**加算される 2 つの数の最初の数
*{{span style='color:blue;font-family:monospace;',→ secondOperand}}
**加算される 2 つの数の 2 番目の数
*{{span style='color:blue;font-family:monospace;',→ howAccurate}}
**結果を強制的に 0 にしない指数の最小差。2 つのオペランドの小さいほうの指数と計算結果の指数との差がこの値を超える場合、{{span style='color:blue;font-family:monospace;',FlpCorrectedAdd}} によって返される値は強制的に 0 になります。デフォルト レベルの精度にする場合は、このパラメータに 0 の値を与えます。(この場合、48 の {{span style='color:blue;font-family:monospace;',howAccurate}} 値にした場合と等価です。)

'''返り値'''

計算結果を返します。

'''コメント'''

大きな数と小さな数の加算または減算の結果は、大きなほうの数と絶対値が近いものになります。絶対値が似通った 2 つの数の加算または減算の結果は、符号にもよりますが、非常に小さな指数を持つことになります(つまり、絶対値が大きい負の指数)。計算結果の指数とオペランドの指数の差が、仮数で表現することができる有効ビットの数に近い場合、計算結果を事実上 0 と見なせます。

仮数の下位ビットの精度を維持することが役立つかもしれないケースが存在します。たとえば、99999999 + 0.00000001 - 99999999 です。しかしながら、小数点以下の部分が正確に 2 の(負の)べき乗でない限り、ほんの数ビットしかない使用可能な値が小数点以下の値を適切に表すのに十分かどうかは疑わしいです。この例では、99999999 を表すのに 26 ビット必要(訳者注: 27 ビットではないか?)で、残りの .00000001 を表すのに 26 ビット必要(訳者注: 27 ビットではないか?)です; これが減算後の不正確さを保証します。

0.1 のような 10 の分数をバイナリで表す困難さに起因する問題もあります。約 3 回の加算また減算後に、仮数の最下位ビットにエラーが現れ始めます。その後に仮数の上位ビットによって表される値が減算によって引かれてしまった場合 -- 計算結果は 0 になるべきなのですが -- 最下位ビット エラーが正規化され、事実上の計算結果になります。

この問題は、加算と減算による問題であるにすぎません。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC ユーザはこの関数の代わりに {{goto FlpBufferCorrectedAdd,FlpBufferCorrectedAdd()}} を使用しなくてはなりません。

'''参照'''

{{goto FlpCorrectedSub,FlpCorrectedSub()}}


!{{anchor FlpCorrectedSub}}FlpCorrectedSub 関数 {{goto top,^TOP^}}

'''目的'''

2 つの浮動小数点数の減算を行い、結果が 0 になるべきだが 0 に近い値になるときに最下位ビット エラーの訂正を行います。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 FlpDouble FlpCorrectedSub (
 	FlpDouble firstOperand,
 	FlpDouble secondOperand,
 	Int16 howAccurate
 )


'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ firstOperand}}
**{{span style='color:blue;font-family:monospace;',secondOperand}} が引かれる値
*{{span style='color:blue;font-family:monospace;',→ secondOperand}}
**{{span style='color:blue;font-family:monospace;',firstOperand}} から引く値
*{{span style='color:blue;font-family:monospace;',→ howAccurate}}
**結果を強制的に 0 にしない指数の最小差。2 つのオペランドの小さいほうの指数と計算結果の指数との差がこの値を超える場合、{{span style='color:blue;font-family:monospace;',FlpCorrectedSub}} によって返される値は強制的に 0 になります。デフォルト レベルの精度にする場合は、このパラメータに 0 の値を与えます。(この場合、48 の {{span style='color:blue;font-family:monospace;',howAccurate}} 値にした場合と等価です。)

'''返り値'''

計算結果を返します。

'''コメント'''

この関数の完全な説明は {{goto FlpCorrectedAdd,FlpCorrectedAdd()}} を参照してください。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。GCC ユーザはこの関数の代わりに {{goto FlpBufferCorrectedSub,FlpBufferCorrectedSub()}} を使用しなくてはなりません。


!{{anchor FlpFToA}}FlpFToA 関数 {{goto top,^TOP^}}

'''目的'''

浮動小数点数を null で終了する ASCII 文字列へ変換します。文字列は指数形式: {{span style='color:blue;font-family:monospace;',"[-]x.yyyyyyye[-]zz"}} になります。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 Err FlpFToA (
 	FlpDouble a,
 	Char *s
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ a}}
**浮動小数点数
*{{span style='color:blue;font-family:monospace;',← s}}
**ASCII 文字列を保持するバッファへのポインタ

'''返り値'''

エラーが無い場合、0 を返します。与えられた値が数でないまたは無限数である場合、{{span style='color:blue;font-family:monospace;',flpErrOutOfRange}} を返し、バッファは状況に応じて "INF", "-INF", "NaN" にセットされます。

'''コメント'''

与えられた浮動小数点数が 0 である場合、返される文字列は指数形式ではなく、単に "0" です。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpAToF,FlpAToF()}}


!{{anchor FlpGetExponent}}FlpGetExponent マクロ {{goto top,^TOP^}}

'''目的'''

64 ビット浮動小数点数値の指数を返します。返される値はバイアスが適用されるため、-1023 から +1024 の範囲になります。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpGetExponent (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**指数が抽出される値

'''返り値'''

指定された値の指数を保持する {{span style='color:blue;font-family:monospace;',UInt32}} を返します。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpBase10Info,FlpBase10Info()}}, {{goto FlpGetSign,FlpGetSign()}}


!{{anchor FlpGetSign}}FlpGetSign マクロ {{goto top,^TOP^}}

'''目的'''

64 ビット浮動小数点数値の符号を返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpGetSign (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**符号ビットが抽出される値

'''返り値'''

指定された値が負の場合、0 ではない {{span style='color:blue;font-family:monospace;',UInt32}} を返します。正の場合、0 の {{span style='color:blue;font-family:monospace;',UInt32}} を返します。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpBase10Info,FlpBase10Info()}}, {{goto FlpGetExponent,FlpGetExponent()}}, {{goto FlpNegate,FlpNegate()}}, {{goto FlpSetNegative,FlpSetNegative()}}, {{goto FlpSetPositive,FlpSetPositive()}}


!{{anchor FlpIsZero}}FlpIsZero マクロ {{goto top,^TOP^}}

'''目的'''

指定された 64 ビット浮動小数点数値が 0 かどうかを返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpIsZero (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**符号ビットが求められている値

'''返り値'''

指定された値が 0 の場合、0 ではない {{span style='color:blue;font-family:monospace;',UInt32}} を返します。指定された値が 0 以外の値である場合、0 の {{span style='color:blue;font-family:monospace;',UInt32}} を返します。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。


!{{anchor FlpNegate}}FlpNegate マクロ {{goto top,^TOP^}}

'''目的'''

64 ビット浮動小数点数の符号ビットを変更します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpNegate (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**符号ビットが変更される値

'''返り値'''

{{span style='color:blue;font-family:monospace;',x}} で指定された値の符号を反転させた 64 ビット浮動小数点数を返します。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpGetSign,FlpGetSign()}}, {{goto FlpSetNegative,FlpSetNegative()}}, {{goto FlpSetPositive,FlpSetPositive()}}


!{{anchor FlpSetNegative}}FlpSetNegative マクロ {{goto top,^TOP^}}

'''目的'''

64 ビット浮動小数点数が負であることを保証します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpSetNegative (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**強制的に負にさせられる値

'''返り値'''

与えられた 64 ビット浮動小数点数値が負である場合、値は変更されずに返されます。与えられた値が正である場合、その値を負にしたものが返されます。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpGetSign,FlpGetSign()}}, {{goto FlpNegate,FlpNegate()}}, {{goto FlpSetPositive,FlpSetPositive()}}


!{{anchor FlpSetPositive}}FlpSetPositive マクロ {{goto top,^TOP^}}

'''目的'''

64 ビット浮動小数点数が正であることを保証します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 #define FlpSetPositive (
 	x
 )

'''パラメータ'''

*{{span style='color:blue;font-family:monospace;',→ x}}
**強制的に正にさせられる値

'''返り値'''

与えられた 64 ビット浮動小数点数値が正である場合、値は変更されずに返されます。与えられた値が負である場合、その値の絶対値が返されます。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

'''参照'''

{{goto FlpGetSign,FlpGetSign()}}, {{goto FlpNegate,FlpNegate()}}, {{goto FlpSetNegative,FlpSetNegative()}}


!{{anchor FlpVersion}}FlpVersion 関数 {{goto top,^TOP^}}

'''目的'''

浮動小数点数マネージャのバージョン番号を返します。

'''宣言されている場所'''

{{span style='color:blue;font-family:monospace;',FloatMgr.h}}

'''Prototype'''

 UInt32 FlpVersion (
 	void
 )

'''パラメータ'''

ありません。

'''返り値'''

浮動小数点数マネージャのバージョン番号を返します。現在のバージョンは、{{span style='color:blue;font-family:monospace;',FloatMgr.h}} で定義されている定数 {{span style='color:blue;font-family:monospace;',flpVersion}} です。

'''互換性'''

{{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。

----
[[← 35 章に戻る|Palm OS Programmer's API Reference/35]] [[↑トップへ|Palm OS Programmer's API Reference]] [[37 章に進む →|Palm OS Programmer's API Reference/37]]