Go forward to acos
Go up to Math
Go to the top op libm
Version of library
There are four different versions of the math library routines: IEEE,
POSIX, X/Open, or SVID. The version may be selected at runtime by
setting the global variable `_LIB_VERSION', defined in `math.h'. It
may be set to one of the following constants defined in `math.h':
`_IEEE_', `_POSIX_', `_XOPEN_', or `_SVID_'. The `_LIB_VERSION'
variable is not specific to any thread, and changing it will affect all
The versions of the library differ only in how errors are handled.
In IEEE mode, the `matherr' function is never called, no warning
messages are printed, and `errno' is never set.
In POSIX mode, `errno' is set correctly, but the `matherr' function
is never called and no warning messages are printed.
In X/Open mode, `errno' is set correctly, and `matherr' is called,
but warning message are not printed.
In SVID mode, functions which overflow return
3.40282346638528860e+38, the maximum single precision floating point
value, rather than infinity. Also, `errno' is set correctly, `matherr'
is called, and, if `matherr' returns 0, warning messages are printed
for some errors. For example, by default `log(-1.0)' writes this
message on standard error output:
log: DOMAIN error
The library is set to X/Open mode by default.
Created Mon Nov 8 17:42:56 2004 on tillpc with info_to_html version 0.9.6.