Module Math is a basic library for numerical computations. It offers the most frequently used functions and constants.

PROCEDURE Pi (): REAL

Returns an approximation of the value of pi.

PROCEDURE Radians(angle : REAL): REAL;

Returns the value of the 'angle' in radians.

PROCEDURE Random (): REAL;

Returns random number from 0.0 to 1.0.

* Powers and logarithms *

PROCEDURE Sqrt (x: REAL): REAL

Returns the square root of x. Precondition: x >= 0.0

PROCEDURE Exp (x: REAL): REAL

Returns e^x.

PROCEDURE Ln (x: REAL): REAL

Returns the natural logarithm of x. Precondition: x >= 0.0

PROCEDURE Log (x: REAL): REAL

Returns the logarithm to the basis 10 of x. Precondition: x >= 0.0

PROCEDURE Power (x, y: REAL): REAL

Returns x^y. Precondition: x >= 0.0

PROCEDURE IntPower (x: REAL; n: INTEGER): REAL

Returns x^n. IntPower(0, 0) gives 1.

* Trigonometric and hyperbolic functions *

The arguments for all trigonometric and hyperbolic functions must be given in radians, and the inverse trigonometric and hyperbolic functions are calculated in radians (1 radian = 180/pi degrees).

PROCEDURE Sin (x: REAL): REAL

Returns the sine of x. Postcondition: -1.0 <= result <= 1.0

PROCEDURE Cos (x: REAL): REAL

Returns the cosine of x. Postcondition: -1.0 <= result <= 1.0

PROCEDURE Tan (x: REAL): REAL

Returns the tangent of x.

PROCEDURE ArcSin (x: REAL): REAL

Returns the arcus sine of x. Precondition: -1.0 <= x <= 1.0 Postcondition: -pi/2.0 <= result <= pi/2.0

PROCEDURE ArcCos (x: REAL): REAL

Returns the arcus cosine of x. Precondition: -1.0 <= x <= 1.0 Postcondition: 0.0 <= result <= pi

PROCEDURE ArcTan (x: REAL): REAL

Returns the arcus tangent of x. Postcondition: -pi/2.0 <= result <= pi/2.0

PROCEDURE ArcTan2 (y, x: REAL): REAL

Returns the argument (angle) of the complex number x + iy measured anti-clockwise from the positive real axis. Postcondition: -pi < result <= pi

PROCEDURE Sinh (x: REAL): REAL

Returns the hyperbolic sine of x.

PROCEDURE Cosh (x: REAL): REAL

Returns the hyperbolic cosine of x. Postcondition: 1.0 <= result

PROCEDURE Tanh (x: REAL): REAL

Returns the hyperbolic tangent of x. Postcondition: -1.0 <= result <= 1.0

PROCEDURE ArcSinh (x: REAL): REAL;

Returns the inverse hyperbolic sine of x.

PROCEDURE ArcCosh (x: REAL): REAL;

Returns the inverse hyperbolic cosine of x. Precondition: 1.0 <= x Postcondition: 0.0 <= result

PROCEDURE ArcTanh (x: REAL): REAL;

Returns the inverse hyperbolic tangent of x. Precondition: -1.0 <= x <= 1.0

* Miscellaneous functions *

PROCEDURE Sign (x: REAL): REAL

Returns the sign um function of x, that is 1.0 if x > 0.0, -1.0 if x < 0.0 and 0.0 with the sign of x if x = 0.0. Postcondition: result IN {-1.0, 0.0, 1.0}

PROCEDURE Floor (x: REAL): REAL

Returns the greatest integer less than or equal to x. Identical to FLOOR(x).

PROCEDURE Ceiling (x: REAL): REAL

Returns the smallest integer greater than or equal to x.

PROCEDURE Trunc (x: REAL): REAL

Trunc truncates its argument to the next nearest integer towards zero.

PROCEDURE Round (x: REAL): REAL

Same as Floor(x + 0.5).