The Compaq Portable Mathematics Library (CPML) is a set of
mathematical routines that are accessed from high-level languages
(such as Fortran and C) which support mathematical functions.
Many CPML routines can also be called directly using standard
call interfaces, but it is recommended that you invoke CPML
routines only from a high-level language.
CPML routines are documented with generic names, and with the
symbol F_TYPE to indicate generic floating-point values (e.g. F_
TYPE sqrt (F_TYPE x)).
To determine the appropriate names and interfaces within a
specific programming language (e.g. float sqrtf(float x) or
REAL*4 SQRT), refer to that language's documentation.
To enable the use of CPML routines which are not provided by your
high-level language, the actual CPML entrynames for OpenVMS are
Note: CPML routines which return complex numbers ("F_COMPLEX")
use a private interface. Therefore, they can only be called from
high-level languages that support that interface.
The Data Types S_FLOAT, T_FLOAT and X_FLOAT refer to IEEE format
floating-point numbers of single-, double-, and quad-precision,
respectively. F_FLOAT and G_FLOAT refer to VAX format single-
precision, and G-floating double-precision floating point
For each CPML routine, "exceptional" input values are
also provided. That is, values for which the function is
mathematically undefined, or for which the output would be out
of range for the floating-point type.
Refer to your language's documentation for information about
how exceptions manifest themselves and how to control exception
behavior. Further information is also available at the Compaq
Math website at: http://www.compaq.com/math.