Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

matherr(3M)

hc(1)



sinh(3M)                                                 sinh(3M)



NAME
     sinh, cosh, tanh, sinhf, coshf, tanhf, asinh, acosh, atanh -
     hyperbolic functions

SYNOPSIS
     #include <math.h>

     double sinh (x)
     double x;

     double cosh (x)
     double x;

     double tanh (x)
     double x;

     double asinh (x)
     double x;

     double acosh (x)
     double x;

     double atanh (x)
     double x;

     float sinhf (float x)

     float coshf (float x)

     float tanhf (float x)

DESCRIPTION
     sinh, sinhf, cosh, coshf, tanh, and tanhf return, respec-
     tively, the hyberbolic sine, cosine, and tangent of their
     argument.

     Asinh, acosh, and atanh return, respectively, the inverse
     hyberbolic sine, cosine, and tangent of their argument.

DIAGNOSTICS
     For the double precision functions:

     SINH:              result   errno
     _______________________________________________
     overflow, x >= 0   +HUGE    ERANGE   no message
     overflow, x < 0    -HUGE    ERANGE   no message
     x = infinity       qNaN     EDOM     no message
     x = NaN            qNaN     EDOM     no message

     COSH:          result   errno





Page 1                        CX/UX Programmer's Reference Manual





sinh(3M)                                                 sinh(3M)



     ___________________________________________
     overflow       +HUGE    ERANGE   no message
     x = infinity   qNaN     EDOM     no message
     x = NaN        qNaN     EDOM     no message

     TANH:          result   errno
     __________________________________________
     x = infinity   qNaN     EDOM    no message
     x = NaN        qNaN     EDOM    no message

     ASINH:         result   errno
     __________________________________________
     x = infinity   qNaN     EDOM    no message
     x = NaN        qNaN     EDOM    no message

     ACOSH:         result   errno
     __________________________________________
     x < 1          qNaN     EDOM    message
     x = infinity   qNaN     EDOM    no message
     x = NaN        qNaN     EDOM    no message

     ATANH:         result   errno
     __________________________________________
     |x| > 1        qNaN     EDOM    message
     x = infinity   qNaN     EDOM    no message
     x = NaN        qNaN     EDOM    no message

     In programs linked in one of the ANSI C compilation modes
     (see hc(1)), and in programs linked in the 88open OCS-
     compliant mode, sinh and cosh return HUGE_VAL instead of
     HUGE.

     These error-handling procedures may be changed with the
     matherr(3M) function, if the program is not linked in ANSI C
     conforming mode (-Xc).  See hc(1) for more information about
     compilation modes.

     For the single precision functions:

     SINHF,COSHF:   result   errno
     _____________________________________________
     overflow       qNaN     OVERFLOW   no message
     x = infinity   qNaN     DOMAIN     no message
     x = NaN        qNaN     DOMAIN     no message

     TANHF:         result   errno
     _____________________________________________
     overflow       1.0      OVERFLOW   no message
     underflow      1.0      OVERFLOW   no message
     partial loss   x        PLOSS      no message





Page 2                        CX/UX Programmer's Reference Manual





sinh(3M)                                                 sinh(3M)



     x = infinity   qNaN     EDOM       no message
     x = NaN        qNaN     EDOM       no message

     If the absolute value of the argument is much less than 1.0,
     but not 0.0, a PLOSS error is generated.

     In programs linked in one of the ANSI C conforming modes,
     tanhf, sinhf, and coshf set errno to EDOM instead of DOMAIN,
     and to ERANGE instead of OVERFLOW.

     The matherr(3M) function has no effect on the single preci-
     sion functions.

PERFORMANCE IMPROVEMENTS
     These functions check the integrity of their arguments for
     mathematical validity and conformance to the IEEE Floating-
     Point Arithmetic standard's definition of numbers.  They
     also maintain high accuracy of computations through occa-
     sional use of higher precision arithmetic and lengthier com-
     putations designed to minimize round-off errors.  The
     library libm.a contains these robust functions.
     An alternate math library, libM.a offers increased perfor-
     mance at the expense of argument checking and accuracy.  The
     checks for mathematical validity and IEEE numbers are not
     performed on these functions in this additional library.
     Checks at the boundary conditions of minimum and maximum
     representable values, however, are conducted.  The accuracy
     losses are usually never more than 1-bit differences when
     compared with the robust versions.  This alternate library
     is intended for use when the characteristics of the argu-
     ments are well-understood and higher performance is pre-
     ferred over increased accuracy.  One consequence of these
     less-robust functions is that erroneous arguments are not
     caught and may produce meaningless answers.

SEE ALSO
     matherr(3M), hc(1).


















Page 3                        CX/UX Programmer's Reference Manual



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