我正在将一些BSD代码移植到CentOS,我发现代码中使用了ieeefp.h中的标准函数fpsetmask()。
我还不知道这个函数的行为,但是有没有类似的linux呢?或者我应该在linux上创建一些类似的东西吗?
最佳答案
我认为feraiseexcept()函数是等价的——有关详细信息,请参阅its manpage的“异常处理”小节。
根据the fpsetmask() manpage,各个标志的映射如下:
FP_X_INV→FE_无效
FP_X_DZ→FE_DIVBYZERO
FP_X_OFL→FE_溢出
FP_X_UFL→FE_底流
FP_X_IMP→FE_不精确
FP_X_IOV→none,可能FE_溢出
请记住,这可能只是x87。