Visual Studio是否提供了C库的isnormal()

Does Visual Studio provide the C library’s isnormal()?

本文关键字:库的 isnormal Studio 是否 Visual      更新时间:2023-10-16

我正在使用Visual Studio Express 2013构建一个C++库。我想从cmath调用isnormal函数,但VS库似乎只有_isnan_finite(它们在cfloat中,而不是cmath中)。

它还提供了_fpclass,我认为它对应于fpclassify。以下宏是否适合替换isnormal

#ifdef _WIN32
#define isnormal(x) (_fpclass(x) == _FPCLASS_NN || _fpclass(x) == _FPCLASS_PN)
#endif

根据这篇博客文章,isnormal至少出现在MSVC2013的<math.h>中。因此,在<cmath>中,应该找到相应的std::isnormal(您记得使用命名空间std,对吗?)。否则,您将不得不返回到C标头。

(或者可能修复/更新您的MSVC安装-MGetz的评论显示他的VS2013 Express安装有std::isnormal