4.1.3. float、double、int の間の変換

Table 4.2 に示すルーチンは、long long を除く数値形式間の変換を実行します。

Table 4.2. 数値形式変換ルーチン

関数引数の型結果の型
__aeabi_f2dfloatdouble
__aeabi_d2fdoublefloat
_ffltintfloat
_ffltuunsigned intfloat
_dfltintdouble
_dfltuunsigned intdouble
_ffixfloatint(「丸めの備考」を参照)
_ffix_rfloatint
_ffixufloatunsigned int(「丸めの備考」を参照)
_ffixu_rfloatunsigned int
_dfixdoubleint(「丸めの備考」を参照)
_dfix_rdoubleint
_dfixudoubleunsigned int(「丸めの備考」を参照)
_dfixu_rdoubleunsigned int

丸めの備考

現在の丸めモードとは関係なくゼロへの丸めが実行されます。 これは C 標準によって、整数をこのように丸める暗黙の変換が定義されているためです。したがって、丸めモードを変更する必要はありません。 どの関数にも、その名前の終わりに _r が付いた、対応する関数があります。この関数は同じ処理を実行しますが、現在の丸めモードに基づいて丸めを実行します。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential