# Module `maths` - Mathematical functions and constants

Mathematical functions and constants.

## Index

- Function `ACOS` - Single-precision arccosine
- Function `ALOG` - Single-precision natural logarithm
- Function `ALOG10` - Single-precision base-10 logarithm
- Function `ASIN` - Single-precision arcsine
- Function `ATAN` - Single-precision arctangent
- Function `ATAN2` - Single-precision divide and arctangent
- Function `COS` - Single-precision cosine
- Function `COSH` - Single-precision hyperbolic cosine
- Function `DACOS` - Double-precision arccosine
- Function `DALOG` - Double-precision natural logarithm
- Function `DALOG10` - Double-precision base-10 logarithm
- Function `DASIN` - Double-precision arcsine
- Function `DATAN` - Double-precision arctangent
- Function `DATAN2` - Double-precision divide and arctangent
- Function `DCOS` - Double-precision cosine
- Function `DCOSH` - Double-precision hyperbolic cosine
- Constant `DE` - Double-precision e
- Function `DEXP` - Double-precision exponent
- Constant `DPI` - Double-precision pi
- Function `DPOWER` - Double-precision power
- Function `DRAN` - Double-precision pseudo-random number generator
- Function `DSIN` - Double-precision sine
- Function `DSINH` - Double-precision hyperbolic sine
- Function `DTAN` - Double-precision tangent
- Function `DTANH` - Double-precision hyperbolic tangent
- Constant `E` - Single-precision e
- Function `EXP` - Single-precision exponent
- Constant `PI` - Single-precision pi
- Function `POWER` - Single-precision power
- Function `RAN` - Single-precision pseudo-random number generator
- Function `SIN` - Single-precision sine
- Function `SINH` - Single-precision hyperbolic sine
- Function `TAN` - Single-precision tangent
- Function `TANH` - Single-precision hyperbolic tangent

## Declarations

### `dcosfl.occ`:33Function `DCOS`

`REAL64 FUNCTION DCOS (VAL REAL64 X)`

Double-precision cosine.

#### Parameters:

`VAL REAL64` | `X` | Angle in radians

#### Returns:

`REAL64` |  | Cosine of X

### `dacosfl.occ`:31Function `DACOS`

`REAL64 FUNCTION DACOS (VAL REAL64 X)`

Double-precision arccosine.

#### Parameters:

`VAL REAL64` | `X` | Input value in the range `[-1.0, 1.0]`

#### Returns:

`REAL64` |  | Arccosine of X in radians

### `expfl.occ`:31Function `EXP`

`REAL32 FUNCTION EXP (VAL REAL32 X)`

Single-precision exponent.

#### Parameters:

`VAL REAL32` | `X` | Input value

#### Returns:

`REAL32` |  | e raised to the power X

### `alogfl.occ`:36Function `ALOG`

`REAL32 FUNCTION ALOG (VAL REAL32 X)`

Single-precision natural logarithm.

#### Parameters:

`VAL REAL32` | `X` | Input value

#### Returns:

`REAL32` |  | Natural logarithm of X

### `alogfl.occ`:88Function `ALOG10`

`REAL32 FUNCTION ALOG10 (VAL REAL32 X)`

Single-precision base-10 logarithm.

#### Parameters:

`VAL REAL32` | `X` | Input value

#### Returns:

`REAL32` |  | Base-10 logarithm of X

### `hyperfl.occ`:76Function `SINH`

`REAL32 FUNCTION SINH (VAL REAL32 X)`

Single-precision hyperbolic sine.

#### Parameters:

`VAL REAL32` | `X` | Hyperbolic angle

#### Returns:

`REAL32` |  | Hyperbolic sine of X

### `hyperfl.occ`:127Function `COSH`

`REAL32 FUNCTION COSH (VAL REAL32 X)`

Single-precision hyperbolic cosine.

#### Parameters:

`VAL REAL32` | `X` | Hyperbolic angle

#### Returns:

`REAL32` |  | Hyperbolic cosine of X

### `hyperfl.occ`:158Function `TANH`

`REAL32 FUNCTION TANH (VAL REAL32 X)`

Single-precision hyperbolic tangent.

#### Parameters:

`VAL REAL32` | `X` | Hyperbolic angle

#### Returns:

`REAL32` |  | Hyperbolic tangent of X

### `dranfl.occ`:31Function `DRAN`

`REAL64, INT64 FUNCTION DRAN (VAL INT64 DSeedIn)`

Double-precision pseudo-random number generator.

#### Parameters:

`VAL INT64` | `DSeedIn` | Input seed value

#### Returns:

`REAL64` |  | Pseudo-random value in the range [0.0, 1.0)
`INT64` |  | Output seed value

### `dpowfl.occ`:32Function `DPOWER`

`REAL64 FUNCTION DPOWER (VAL REAL64 Base.r, Expn.r)`

Double-precision power.

#### Parameters:

`VAL REAL64` | `Base.r` | Base
`VAL REAL64` | `Expn.r` | Exponent

#### Returns:

`REAL64` |  | Base.r raised to the power Expn.r

### `asinfl.occ`:31Function `ASIN`

`REAL32 FUNCTION ASIN (VAL REAL32 X)`

Single-precision arcsine.

#### Parameters:

`VAL REAL32` | `X` | Input value in the range `[-1.0, 1.0]`

#### Returns:

`REAL32` |  | Arcsine of X in radians

### `tanfl.occ`:33Function `TAN`

`REAL32 FUNCTION TAN (VAL REAL32 X)`

Single-precision tangent.

#### Parameters:

`VAL REAL32` | `X` | Angle in radians

#### Returns:

`REAL32` |  | Tangent of X

### `atanfl.occ`:54Function `ATAN`

`REAL32 FUNCTION ATAN (VAL REAL32 X)`

Single-precision arctangent.

#### Parameters:

`VAL REAL32` | `X` | Input value

#### Returns:

`REAL32` |  | Arctangent of X

### `atanfl.occ`:150Function `ATAN2`

`REAL32 FUNCTION ATAN2 (VAL REAL32 U, V)`

Single-precision divide and arctangent.

This can be used to convert a 2D coordinate to a polar angle. It is more accurate than doing the equivalent division and call to `ATAN`.

#### Parameters:

`VAL REAL32` | `U`, `V` | Input values

#### Returns:

`REAL32` |  | Arctangent of `U / V`

### `sinfl.occ`:33Function `SIN`

`REAL32 FUNCTION SIN (VAL REAL32 X)`

Single-precision sine.

#### Parameters:

`VAL REAL32` | `X` | Angle in radians

#### Returns:

`REAL32` |  | Sine of X

### `powfl.occ`:32Function `POWER`

`REAL32 FUNCTION POWER (VAL REAL32 Base.r, Expn.r)`

Single-precision power.

#### Parameters:

`VAL REAL32` | `Base.r` | Base
`VAL REAL32` | `Expn.r` | Exponent

#### Returns:

`REAL32` |  | Base.r raised to the power Expn.r

### `ranfl.occ`:31Function `RAN`

`REAL32, INT32 FUNCTION RAN (VAL INT32 SeedRan)`

Single-precision pseudo-random number generator.

#### Parameters:

`VAL INT32` | `SeedRan` | Input seed value

#### Returns:

`REAL32` |  | Pseudo-random value in the range [0.0, 1.0)
`INT32` |  | Output seed value

### `acosfl.occ`:31Function `ACOS`

`REAL32 FUNCTION ACOS (VAL REAL32 X)`

Single-precision arccosine.

#### Parameters:

`VAL REAL32` | `X` | Input value in the range `[-1.0, 1.0]`

#### Returns:

`REAL32` |  | Arccosine of X in radians

### `dalogfl.occ`:36Function `DALOG`

`REAL64 FUNCTION DALOG (VAL REAL64 X)`

Double-precision natural logarithm.

#### Parameters:

`VAL REAL64` | `X` | Input value

#### Returns:

`REAL64` |  | Natural logarithm of X

### `dalogfl.occ`:96Function `DALOG10`

`REAL64 FUNCTION DALOG10 (VAL REAL64 X)`

Double-precision base-10 logarithm.

#### Parameters:

`VAL REAL64` | `X` | Input value

#### Returns:

`REAL64` |  | Base-10 logarithm of X

### `dexpfl.occ`:31Function `DEXP`

`REAL64 FUNCTION DEXP (VAL REAL64 X)`

Double-precision exponent.

#### Parameters:

`VAL REAL64` | `X` | Input value

#### Returns:

`REAL64` |  | e raised to the power X

### `cosfl.occ`:33Function `COS`

`REAL32 FUNCTION COS (VAL REAL32 X)`

Single-precision cosine.

#### Parameters:

`VAL REAL32` | `X` | Angle in radians

#### Returns:

`REAL32` |  | Cosine of X

### `dsinfl.occ`:33Function `DSIN`

`REAL64 FUNCTION DSIN (VAL REAL64 X)`

Double-precision sine.

#### Parameters:

`VAL REAL64` | `X` | Angle in radians

#### Returns:

`REAL64` |  | Sine of X

### `dasinfl.occ`:31Function `DASIN`

`REAL64 FUNCTION DASIN (VAL REAL64 X)`

Double-precision arcsine.

#### Parameters:

`VAL REAL64` | `X` | Input value in the range `[-1.0, 1.0]`

#### Returns:

`REAL64` |  | Arcsine of X in radians

### `dhyperfl.occ`:79Function `DSINH`

`REAL64 FUNCTION DSINH (VAL REAL64 X)`

Double-precision hyperbolic sine.

#### Parameters:

`VAL REAL64` | `X` | Hyperbolic angle

#### Returns:

`REAL64` |  | Hyperbolic sine of X

### `dhyperfl.occ`:134Function `DCOSH`

`REAL64 FUNCTION DCOSH (VAL REAL64 X)`

Double-precision hyperbolic cosine.

#### Parameters:

`VAL REAL64` | `X` | Hyperbolic angle

#### Returns:

`REAL64` |  | Hyperbolic cosine of X

### `dhyperfl.occ`:165Function `DTANH`

`REAL64 FUNCTION DTANH (VAL REAL64 X)`

Double-precision hyperbolic tangent.

#### Parameters:

`VAL REAL64` | `X` | Hyperbolic angle

#### Returns:

`REAL64` |  | Hyperbolic tangent of X

### `mathvals.inc`:33Constant `E`

`VAL REAL32 E`

Single-precision e.

### `mathvals.inc`:35Constant `PI`

`VAL REAL32 PI`

Single-precision pi.

### `mathvals.inc`:56Constant `DE`

`VAL REAL64 DE`

Double-precision e.

### `mathvals.inc`:58Constant `DPI`

`VAL REAL64 DPI`

Double-precision pi.

### `dtanfl.occ`:33Function `DTAN`

`REAL64 FUNCTION DTAN (VAL REAL64 X)`

Double-precision tangent.

#### Parameters:

`VAL REAL64` | `X` | Angle in radians

#### Returns:

`REAL64` |  | Tangent of X

### `datanfl.occ`:49Function `DATAN`

`REAL64 FUNCTION DATAN (VAL REAL64 X)`

Double-precision arctangent.

#### Parameters:

`VAL REAL64` | `X` | Input value

#### Returns:

`REAL64` |  | Arctangent of X

### `datanfl.occ`:147Function `DATAN2`

`REAL64 FUNCTION DATAN2 (VAL REAL64 U, V)`

Double-precision divide and arctangent.

See `ATAN2` for more details.

#### Parameters:

`VAL REAL64` | `U`, `V` | Input values

#### Returns:

`REAL64` |  | Arctangent of `U / V`