math_error(7) Miscellaneous Information Manual math_error(7) math_error - #include #include #include ( -1 NULL). . : errno ( feclearexcept(3) fetestexcept(3) ) fenv(3). errno feclearexcept(FE_ALL_EXCEPT); . errno ( fenv(3)) fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW); . . ( log(3)). NaN ( ) errno EDOM " " (FE_INVALID) . ( 0 ). () HUGE_VAL HUGE_VALF HUGE_VALL double float long double. . errno ERANGE " " (FE_DIVBYZERO) . . . . HUGE_VAL HUGE_VALF HUGE_VALL double float long double. errno ERANGE "" (FE_OVERFLOW) . . 0.0 ( C99 " "). errno ERANGE " " (FE_UNDERFLOW) . . ( 1 ). . math_errhandling C99 POSIX.1 glibc. (errno fetestexcept(3)) . . (glibc 2.8) glibc . ( ) . errno. errno . . . errno fetestexcept(3) . log(3) NaN ( ) ( ): double x, r; if (isnan(x) || islessequal(x, 0)) { /* Deal with NaN / pole error / domain error */ } r = log(x); ( ) C99 POSIX.1. gcc(1) -fno-math-errno errno . ( gcc(1) -ffast-math -fno-math-errno.) fetestexcept(3). gcc(1), errno(3), fenv(3), fpclassify(3), INFINITY(3), isgreater(3), matherr(3), nan(3) info libc 3 . . : . 6.18 17 2025 math_error(7)