4.1.2. 特定格式数字的算法

Table 4.1 介绍了对特定格式的数字执行算法的例程。 参数和结果始终采用相同的格式。

Table 4.1. 算法例程

函数 自变量类型 结果类型 运算
__aeabi_fadd 2 float float 返回 x 加 y
__aeabi_fsub 2 float float 返回 x 减 y
__aeabi_frsub 2 float float 返回 y 减 x
__aeabi_fmul 2 float float 返回 x 乘以 y
__aeabi_fdiv 2 float float 返回 x 除以 y
_frdiv 2 float float 返回 y 除以 x
_frem 2 float float 返回 x 除以 y 的余数(请参阅算法例程注释中的 a)
_frnd float float 返回 x 取整后的值(请参阅算法例程注释中的 b)
_fsqrt float float 返回 x 的平方根
__aeabi_dadd 2 double double 返回 x 加 y
__aeabi_dsub 2 double double 返回 x 减 y
__aeabi_drsub 2 double double 返回 y 减 x
__aeabi_dmul 2 double double 返回 x 乘以 y
__aeabi_ddiv 2 double double 返回 x 除以 y
_drdiv 2 double double 返回 y 除以 x
_drem 2 double double 返回 x 除以 y 的余数(请参阅算法例程注释中的 a)
_drnd double double 返回 x 取整后的值(请参阅算法例程注释中的 b)
_dsqrt double double 返回 x 的平方根

算法例程注释

a

执行 IEEE 754 求余数运算的函数。 此函数被定义为使用两个数 xy,并返回一个数 z,以使 z = x - n * y,其中 n 为整数。 要返回完全正确的结果,请选择 n 以使 z 不大于 x 的一半(因此,即使 xy 都是正数,z 也可能为负数)。 IEEE 754 求余数函数与 C 库函数 fmod 执行的运算不同,其中 z 的符号始终与 x 相同。如果 IEEE 754 规范给出了两个可接受的 n 选项,请选择偶数选项。 出现的此行为与当前舍入模式无关。

b

执行 IEEE 754 取整运算的函数。 此函数使用一个数并取整(根据当前舍入模式),但以浮点数格式返回该整数,而不是作为 C int 变量。 要将一个数转换为 int 变量,必须使用Table 4.2 中介绍的 _ffix 例程。

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