FreeBSD Math Library: liboskit_freebsd_m.a

The OSKit’s math library provides the traditional UNIX “math library” functions as required by the POSIX.1 and X/Open CAE specifications. These functions are required by a number of non-trivial applications, such as a Java or SR runtime system. The library itself is taken directly from the FreeBSD source tree (/usr/src/lib/msun), though it was developed by Sun Microsystems.

There is currently no other floating point support in the OSKit. Most importantly, there is no floating point emulation code to allow math functions to run on systems without hardware FPUs. There is also no support for “context switching” floating point state. The default setjmp and longjmp calls do not save and restore floating point registers, nor does the default exception handler. Thus, any multi-threaded floating point application using a thread package built on top of these mechanisms would not work correctly. Finally, the minimal C library contains no functions for conversion or printing of floating point numbers.

Following is a list of the functions supported by the library. Since these functions and their implementations are fully standard, they are not described in detail here; refer to the ISO C and Unix standards for more information.

- acos,asin,atan,atan2:
- arc cosine, sine, tangent function
- acosh,asinh,atanh:
- inverse hyperbolic cosine, sine, tangent functions
- cbrt:
- cube root function
- ceil:
- ceiling value function
- cos,sin,tan:
- cosine, sine, tangent functions
- cosh,sinh,tanh:
- hyperbolic cosine, sine, tangent functions
- erf,erfc:
- error and complementary error functions
- exp,expm1:
- exponential function
- fabs:
- absolute value function
- floor:
- floor value function
- fmod:
- floating point remainder function
- frexp:
- extract mantissa and exponent from double precision number
- gamma,lgamma:
- log gamma functions
- hypot:
- Euclidean distance function
- ilogb:
- returns exponent part of a floating point number
- isnan:
- test for NaN
- j0,j1,jn:
- Bessel functions of the first kind
- ldexp:
- load exponent of a floating point number
- log,log1p:
- natural logarithm functions
- log10:
- base 10 logarithm function
- logb:
- radix-independent exponent function
- modf:
- decompose floating point number
- nextafter:
- return next representable double-precision floating point number
- pow:
- power function
- remainder:
- floating point remainder function
- rint:
- round to nearest integral value
- scalb:
- load exponent of a radix-independent floating point number
- sqrt:
- square root function
- y0,y1,yn:
- Bessel functions of the second kind