DEFINITION Math; (*General purpose mathematical functions Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Compiler Developers".*) CONST pi = 3.14159265358979; e = 2.71828182845905; PROCEDURE sqrt(x: REAL): REAL; (*returns the square root of x, where x must be positive*) PROCEDURE power(base, exp: REAL): REAL; (*returns base raised to exp*) PROCEDURE exp(x: REAL): REAL; (*returns the constant e raised to x*) PROCEDURE ln(x: REAL): REAL; (*returns the natural logarithm of x with base e*) PROCEDURE log(x, base: REAL): REAL; (*log(x, b) returns the logarithm of x with base b*) PROCEDURE round(x: REAL): REAL; (*returns x rounded to the nearest integer. If the fraction part of x is in range 0.0 to 0.5 then the result is the largest integer not greater than x, otherwise the result is x rounded up to the next highest whole number. Note that integer values cannot always be exactly represented in REAL format.*) PROCEDURE sin(x: REAL): REAL; (*returns the sine of a radian value x*) PROCEDURE cos(x: REAL): REAL; (*returns the cosine of a radian value x*) PROCEDURE tan(x: REAL): REAL; (*returns the tangent of a radian value x*) PROCEDURE arcsin(x: REAL): REAL; (*returns the inverse sine of x in radians, where -1 <= x <= 1*) PROCEDURE arccos(x: REAL): REAL; (*returns the inverse cosine of x in radians, where -1 <= x <= 1*) PROCEDURE arctan(x: REAL): REAL; (*returns the inverse tangent of x in radians, where -1 <= x <= 1*) PROCEDURE arctan2(y, x: REAL): REAL; (*returns the inverse tangent in radians of y/x based on the signs of both values to determine the correct quadrant.*) PROCEDURE sinh(x: REAL): REAL; (*returns the hyperbolic sine of x*) PROCEDURE cosh(x: REAL): REAL; (*returns the hyperbolic cosine of x*) PROCEDURE tanh(x: REAL): REAL; (*returns the hyperbolic tangent of x*) PROCEDURE arcsinh(x: REAL): REAL; (*returns the inverse hyperbolic sine of x*) PROCEDURE arccosh(x: REAL): REAL; (*returns the inverse hyperbolic cosine of x*) PROCEDURE arctanh(x: REAL): REAL; (*returns the inverse hyperbolic tangent of x*) END Math.