是否有与fpsetmask()相当的linux?

时间:2013-09-03 06:34:23

标签: linux centos bsd

我正在将一些BSD代码移植到CentOS,我发现在ieeefp.h中找到的标准函数fpsetmask()已经在代码中使用了。

我还没有意识到这个函数的行为,但有没有相当于这个的linux?或者我应该创建一些在Linux上模拟这个的东西?

1 个答案:

答案 0 :(得分:1)

我认为feraiseexcept()函数是等效的 - 有关详细信息,请查看its manpage的“异常处理”小节。

根据the fpsetmask() manpage,各个标志的映射如下:

  • FP_X_INV→FE_INVALID
  • FP_X_DZ→FE_DIVBYZERO
  • FP_X_OFL→FE_OVERFLOW
  • FP_X_UFL→FE_UNDERFLOW
  • FP_X_IMP→FE_INEXACT
  • FP_X_IOV→无,可能还有FE_OVERFLOW

请记住,这可能只是x87。