#define _ISOC99_SOURCE /* feature_test_macros(7) 参照 */ #include <math.h> INFINITY NAN HUGE_VAL HUGE_VALF HUGE_VALL
(サポートされている場合) マクロ NAN は quiet NaN を表す float 型の定数に展開される。 quiet NaN は計算式の中で使われたときに例外を起こさない NaN ("not-a-number") である。 この反対は signalling NaN である。 IEC 60559:1989 を参照すること。
マクロ HUGE_VAL, HUGE_VALF, HUGE_VALL はそれぞれ double, float, long double 型の定数で、 大きな正の値を表し、可能な場合には正の無限大を表す。
glibc システムではマクロ HUGE_VAL が常に使用可能である。 NAN マクロが使用できるかは、 #ifdef NAN を使ってテストできる。 INFINITY, HUGE_VALF, HUGE_VALL も同様である。 _ISOC99_SOURCE か _GNU_SOURCE が定義されている場合、 または __STDC_VERSION__ が定義されていて、その値が 199901L 以上である場合、 これらのマクロは <math.h> で定義される。