Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ intro(3M) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

intro(2)

intro(3)

math(5)



INTRO(3M-SVR4)      RISC/os Reference Manual       INTRO(3M-SVR4)



NAME
     intro - introduction to math libraries

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

     cc -O -Ksd [flag ...] file ...  -J sfm [library ...]

     #include <math.h>

DESCRIPTION
     The (3M) manual pages describe the functions in the math
     libraries, libm and libsfm.  Declarations for these func-
     tions 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 libraries are not automatically loaded by the C
     compilation system; use the -l or -J options to cc to access
     the libraries as follows:

             -lm       Search the regular math library, libm.

             -J sfm    Do in-line expansion of functions from the
                       fast single-precision assembly source math
                       library, libsfm.  Specify -O -Ksd to
                       optimize for speed.

     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.

     libsfm  Contains the functions sinf, cosf, tanf, asinf,
             acosf, atanf, expf, logf, log10f, powf, and sqrtf.
             The source library routines are in-line expanded by
             the optimizer to provide faster execution by reduc-
             ing the overhead of argument passing, function cal-
             ling and returning, and return value passing.  The
             source library is designed for applications that
             desire an increase in speed at the potential cost of
             size.

             libsfm should be used only when necessary and with
             extreme caution.  It is a special purpose library
             that does not do error checking or domain reduction.
             In other words, these functions never call matherr,
             and arguments aren't reduced to be within a finite
             range.



                        Printed 11/19/92                   Page 1





INTRO(3M-SVR4)      RISC/os Reference Manual       INTRO(3M-SVR4)



             Inputs to sinf and cosf must be in the range

                     - π < x < π
                       2       2
             Inputs to tanf must be in the range

                     - π < x < π
                       2       2
             Inputs to sqrtf, logf, and log10f must be greater
             than 0.

DEFINITIONS
     See intro(3) for C language definitions.

FILES
     LIBDIR                  usually /usr/ccs/lib
     LIBDIR/libm.a
     LIBDIR/libsfm.sa
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.




















 Page 2                 Printed 11/19/92



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