INTRO(3) INTRO(3) NAME intro - introduction to library functions SYNOPSIS #include <stdio.h> #include <math.h> DESCRIPTION This section describes functions that may be found in vari- ous libraries, other than those functions that directly invoke UNIX system primitives, which are described in sec- tion 2. Functions are divided into various libraries dis- tinguished by the section number at the top of the page: (3) These functions, together with those of section 2 and those marked (3S), constitute library libc, which is automatically loaded by the C compiler cc(1) and the Fortran compiler f77(1). The link editor ld(1) searches this library under the `-lc' option. Decla- rations for some of these functions may be obtained from include files indicated on the appropriate pages. (3M) These functions constitute the math library, libm. They are automatically loaded as needed by the Fortran compiler f77(1). The link editor searches this library under the `-lm' option. Declarations for these func- tions may be obtained from the include file <math.h>. (3S) These functions constitute the `standard I/O package', see stdio(3). These functions are in the library libc already mentioned. Declarations for these functions may be obtained from the include file <stdio.h>. (3X) Various specialized libraries have not been given dis- tinctive captions. The files in which these libraries are found are named on the appropriate pages. FILES /lib/libc.a /lib/libm.a, /usr/lib/libm.a (one or the other) SEE ALSO stdio(3), nm(1), ld(1), cc(1), f77(1), intro(2) DIAGNOSTICS Functions in the math library (3M) may return conventional values when the function is undefined for the given argu- ments or when the value is not representable. In these cases the external variable errno (see intro(2)) is set to INTRO(3) INTRO(3) the value EDOM or ERANGE. The values of EDOM and ERANGE are defined in the include file <math.h>. ASSEMBLER In assembly language these functions may be accessed by sim- ulating the C calling sequence. For example, ecvt(3) might be called this way: setd mov $sign,-(sp) mov $decpt,-(sp) mov ndigit,-(sp) movf value,-(sp) jsr pc,_ecvt add $14.,sp