哪里可以找到glibc中数学函数ceil()的源代码?

时间:2012-03-15 03:34:43

标签: c glibc ceil

我已经下载了glibc的源代码,并且很长一段时间找到函数ceil(),但我找不到它,谁能告诉我它在哪里?

我在哪里可以找到有关如何在glibc源代码中找到某些函数源代码的详细信息。

谢谢。

1 个答案:

答案 0 :(得分:5)

猜测,它可能是用汇编语言编写的。它基本上分三步完成:

  1. 将舍入模式更改为“向上舍入”
  2. 舍入为整数(FRNDINT)
  3. 恢复上一轮舍入模式。
  4. 不幸的是,更改舍入模式的代码相当难看。舍入模式是浮点控制寄存器中的几位。您无法更改FPU内的FPCR,因此您必须将其存储,然后将其加载到CPU上的寄存器中,修改一些位,将其存储,然后将修改后的版本加载回FPU。然后执行一条FP指令,并再次执行相同操作,但反之亦然。

    我似乎回忆起几年前英特尔的一些文献在谈论这个,并且(或许)谈论一个更好的方法来处理它 - 但我可以想象,即使我不是,我也不会记住他们的改进版本是如何运作的。