3.6 float と double の間の fplib 比較

fplib には、浮動小数点数値の比較を実行するための多数のルーチンが用意されています。

次の表に、これらのルーチンを示します。

表 3-3 浮動小数点比較ルーチン

関数 引数の型 戻り値の型 テストされる条件 注釈
_fcmpeq 2 つの float フラグ、EQ/NE x = y a
_fcmpge 2 つの float フラグ、HS/LO x ≧ y a、b
_fcmple 2 つの float フラグ、HI/LS x ≦ y a、b
_feq 2 つの float ブール x = y -
_fneq 2 つの float ブール x ≠ y -
_fgeq 2 つの float ブール x ≧ y b
_fgr 2 つの float ブール x > y b
_fleq 2 つの float ブール x ≦ y b
_fls 2 つの float ブール x < y b
_dcmpeq 2 つの double フラグ、EQ/NE x = y a
_dcmpge 2 つの double フラグ、HS/LO x ≧ y a、b
_dcmple 2 つの double フラグ、HI/LS x ≦ y a、b
_deq 2 つの double ブール x = y -
_dneq 2 つの double ブール x ≠ y -
_dgeq 2 つの double ブール x ≧ y b
_dgr 2 つの double ブール x > y b
_dleq 2 つの double ブール x ≦ y b
_dls 2 つの double ブール x < y b
_fcmp4 2 つの float フラグ、VFP x ≦ y c
_fcmp4e 2 つの float フラグ、VFP x ≦ y b、c
_fdcmp4 float double フラグ、VFP x ≦ y c
_fdcmp4e float double フラグ、VFP x ≦ y b、c
_dcmp4 2 つの double フラグ、VFP x ≦ y c
_dcmp4e 2 つの double フラグ、VFP x ≦ y b、c
_dfcmp4 double float フラグ、VFP x ≦ y c
_dfcmp4e double float フラグ、VFP x ≦ y b、c

浮動小数点比較ルーチンの備考

a
ARM 条件フラグに結果を返します。この方法では条件命令を使用する関数への呼び出しを直接追跡できるので、アセンブリ言語においては効率的ですが、C 言語でこの関数を使用する手段はありません。この関数は rt_fp.h 内では宣言されていません。
b
いずれかの引数が NaN であれば、それがクワイエット型の NaN であっても、無効演算例外が発生します。他の関数では、引数が SNaN の場合にのみ無効演算例外が発生します。QNaN の場合は、他の QNaN も含め、どの値と比較されても結果は不等(≠)となります(したがって QNaN と同一の QNaN を比較しても、結果は不等(≠)となります)。
c
VFP 型のステータスフラグを PSR に返します。また、VFP 型のステータスフラグを r0 の上位 4 ビットで返すため、この関数を C 言語から使用できます。この関数は rt_fp.h で宣言されます。
関連する概念
3.2 ソフトウェア浮動小数点ライブラリ fplib
3.3 fplib ルーチンの呼び出し
関連する参考文書
3.4 特定形式の数値に対する fplib 算術演算
3.5 floats、long longs、doubles、ints の間の fplib 変換
3.7 fplib C99 関数
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.