# Module `maths` - Mathematical functions and constants

Mathematical functions and constants.

## Declarations

### `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

### `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

### `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

### `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`

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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

### `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.

### `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

### `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`

### `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

### `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