GCC使用的函数rem_pio2f()是什么?

时间:2012-03-24 01:13:25

标签: c gcc trigonometry ieee-754 sin

在我们的GCC实现上检查sinf()的已编译代码,我发现它调用了内置函数___ieee754_rem_pio2f。我试着找一个关于这个函数是什么的线索,但我发现的所有帖子都是指rem_pio2f(无__ieee754)函数的错误,没有解释。

有人能说清楚这个功能吗?

(听起来像是“PI-over-2-float的剩余部分,或者类似的东西 - 但为什么需要一个常量的函数?”

编辑:感谢@Thiruvalluvar提供源代码:

/* __ieee754_rem_pio2f(x,y)
*
* return the remainder of x rem pi/2 in y[0]+y[1]
* use __kernel_rem_pio2f()
*/

1 个答案:

答案 0 :(得分:3)

sinf接受一个浮点并返回一个浮点数。在C99中添加了对浮点运算的支持。较早的C标准没有sinf但只有sin(这是双重的)。 ieee_754表示添加了该函数以支持浮点支持。如果感兴趣的话,这是该文件的source code链接。