Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ intro(3M) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

intro(2)

intro(3)

math(5)



intro(3M)                UNIX System V(Math Libraries)                intro(3M)


NAME
      intro - introduction to math libraries

SYNOPSIS
      cc [flag ...] file ...  -lm [library ...]

      #include <math.h>

DESCRIPTION
      This section describes the functions in the math library, libm.
      Declarations for these functions may be obtained from the #include file
      math.h.  Several generally useful mathematical constants are also defined
      there [see intro(3) and math(5)].

      The math library is not automatically loaded by the C compilation system;
      use the -l option to cc to access the libraries as shown above.

      libm Contains the full set of double-precision routines plus some
      single-precision routines (designated by the suffix f) that give better
      performance with less precision.  Selected routines are hand-optimized
      for performance.  The optimized routines include sin, cos, tan, atan,
      atan2, exp, log, log10, pow, and sqrt and their single-precision
      equivalents.

DEFINITIONS
      See intro(3) for C language definitions.

FILES
      LIBDIR                  usually /usr/ccs/lib
      LIBDIR/libm.a

SEE ALSO
      cc(1), intro(2), intro(3), math(5).
      The ``Floating Point Operations'' chapter in the Programmer's Guide: ANSI
      C and Programming Support Tools.

DIAGNOSTICS
      Error handling varies according to compilation mode.  Under the -Xt
      (default) option to cc, these functions return the conventional values 0,
      +HUGE, or NaN when the function is undefined for the given arguments or
      when the value is not representable.  In the -Xa and -Xc compilation
      modes, +HUGEVAL is returned instead of +HUGE.  (HUGEVAL and HUGE are
      defined in math.h to be infinity and the largest-magnitude single-
      precision number, respectively.)  In every case, the external variable
      errno [see intro(2)] is set to the value EDOM or ERANGE, although the
      value may vary for a given error depending on compilation mode.  See the
      table under matherr(3M) below.







10/89                                                                    Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026