# Elementary Functions

The defined name of this module is `mathlib`

. The
functionality defined for this module is intentionally precisely that of the
trigonmetric functions, hyperbolic functions, exponential and logarithmic
functions and power functions defined for `<math.h>`

in
ISO/IEC 9899 : 1990 with the exceptions of `frexp`

,
`ldexp`

and `modf`

.

`pi`

:
*double-float*

### Remarks

The value of `pi`

is the ratio the
circumference of a circle to its diameter stored to double precision floating
point accuracy.

`acos`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the principal value of the arc cosine of float which
is a value in the range [0; pi] radians. An error is signalled (condition-class:
`domain-condition`

) if float is not in the range [1; +1].

`asin`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the principal value of the arc sine of float which is
a value in the range [pi=2; +pi=2] radians. An error is signalled
(condition-class: `domain-condition`

) if float is not in the
range [1; +1].

`atan`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the principal value of the arc tangent of float which
is a value in the range [pi=2; +pi=2] radians.

`atan2`

:
*generic-function*

### Generic arguments

`(`*float1 * `<float>`)- A floating
point number.
`(`*float2 * `<float>`)- A floating
point number.

### Result

Computes the principal value of the arc tangent of
float1 /float2 , which is a value in the range [pi; +pi] radians, using the signs of
both arguments to determine the quadrant of the result. An error might be
signalled (condition-class: `domain-condition`

) if either float1
or float2 is zero.

`cos`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the cosine of float (measured in radians).

`sin`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the sine of float (measured in radians).

`tan`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the tangent of float (measured in radians).

`cosh`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the hyperbolic cosine of float. An error might be
signalled (condition class: `range-condition`

) if the magnitude
of float is too large.

`sinh`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the hyperbolic sine of float. An error might be
signalled (condition class: `range-condition`

) if the magnitude
of float is too large.

`tanh`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the hyperbolic tangent of float.

`exp`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the exponential function of float. An error might
be signalled (condition class: `range-condition`

) if the
magnitude of float is too large.

`log`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the natural logarithm of float. An error is signalled
(condition class: `domain-condition`

) if float is negative. An
error might be signalled (condition class: range-condition) if float is zero.

`log10`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the base-ten logarithm of float. An error is
signalled (condition class: `domain-condition`

) if float is
negative. An error might be signalled (condition class:
`range-condition`

) if float is zero.

`pow`

:
*generic-function*

### Generic arguments

`(`*float1 * `<float>`)- A floating
point number.
`(`*float2 * `<float>`)- A floating
point number.

### Result

Computes float1 raised to the power float2 . An error is
signalled (condition class: `domain-condition`

) if float1 is
negative and float2 is not integral. An error is signalled (condition class:
`domain-condition`

) if the result cannot be represented when
float1 is zero and float2 is less than or equal to zero. An error might be
signalled (condition class: `range-condition`

) if the result
cannot be represented.

`sqrt`

:
*generic-function*

### Generic arguments

`(`*float* `<float>`)- A floating
point number.

### Result

Computes the non-negative square root of float. An error is
signalled (condition class: `domain-condition`

) if float is
negative.

Julian Padget, jap@maths.bath.ac.uk, this version February 7, 1995