Some useful mathematical constants and functions (mainly for internal use).

### Members

#### (static, constant) degree :number

The factor to convert degrees to radians.

##### Type:

- number

#### (static, constant) digits :number

The number of digits of precision in floating-point numbers.

##### Type:

- number

#### (static, constant) epsilon :number

The machine epsilon.

##### Type:

- number

### Methods

#### (static) AngDiff(x, y) → {object}

The exact difference of two angles reduced to (−180°, 180°]

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the first angle in degrees. |

`y` |
number | the second angle in degrees. |

##### Returns:

diff the exact difference, y − x.

This computes z = y − x exactly, reduced to (−180°, 180°]; and then sets diff.s = d = round(z) and diff.t = e = z − round(z). If d = −180, then e > 0; If d = 180, then e ≤ 0.

- Type
- object

#### (static) AngNormalize(x) → {number}

Normalize an angle.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the angle in degrees. |

##### Returns:

the angle reduced to the range (−180°, 180°].

- Type
- number

#### (static) AngRound(x) → {number}

Coarsen a value close to zero.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number |

##### Returns:

the coarsened value.

- Type
- number

#### (static) atan2d(y, x)

Evaluate the atan2 function with the result in degrees

##### Parameters:

Name | Type | Description |
---|---|---|

`y` |
number | |

`x` |
number |

##### Returns:

atan2(y, x) in degrees, in the range (−180° 180°].

#### (static) atanh(x) → {number}

Inverse hyperbolic tangent.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the argument. |

##### Returns:

tanh^{−1} x.

- Type
- number

#### (static) cbrt(x) → {number}

Cube root function.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the argument. |

##### Returns:

the real cube root.

- Type
- number

#### (static) copysign(x, y) → {number}

Copy the sign.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | gives the magitude of the result. |

`y` |
number | gives the sign of the result. |

##### Returns:

value with the magnitude of x and with the sign of y.

- Type
- number

#### (static) hypot(x, y) → {number}

The hypotenuse function.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the first side. |

`y` |
number | the second side. |

##### Returns:

the hypotenuse.

- Type
- number

#### (static) LatFix(x) → {number}

Normalize a latitude.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the angle in degrees. |

##### Returns:

x if it is in the range [−90°, 90°], otherwise return NaN.

- Type
- number

#### (static) log1p(x) → {number}

The log1p function.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the argument. |

##### Returns:

log(1 + x).

- Type
- number

#### (static) polyval(N, p, x) → {number}

Evaluate a polynomial.

##### Parameters:

Name | Type | Description |
---|---|---|

`N` |
integer | the order of the polynomial. |

`p` |
array | the coefficient array (of size N + 1) (leading order coefficient first) |

`x` |
number | the variable. |

##### Returns:

the value of the polynomial.

- Type
- number

#### (static) sincosd(x) → {object}

Evaluate the sine and cosine function with the argument in degrees

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | in degrees. |

##### Returns:

r with r.s = sin(x) and r.c = cos(x).

- Type
- object

#### (static) sq(x) → {number}

Square a number.

##### Parameters:

Name | Type | Description |
---|---|---|

`x` |
number | the number. |

##### Returns:

the square.

- Type
- number

#### (static) sum(u, v) → {object}

An error-free sum.

##### Parameters:

Name | Type | Description |
---|---|---|

`u` |
number | |

`v` |
number |

##### Returns:

sum with sum.s = round(u + v) and sum.t is u + v − round(u + v)

- Type
- object