DEFINITION MODULE Mathlib; (* Module: Mathematical functions Author: Ceriel J.H. Jacobs Version: $Header$ *) (* Some mathematical constants: *) CONST (* From: Handbook of Mathematical Functions Edited by M. Abramowitz and I.A. Stegun National Bureau of Standards Applied Mathematics Series 55 *) pi = 3.141592653589793238462643; twicepi = 6.283185307179586476925286; halfpi = 1.570796326794896619231322; quartpi = 0.785398163397448309615661; e = 2.718281828459045235360287; ln2 = 0.693147180559945309417232; ln10 = 2.302585092994045684017992; (* basic functions *) PROCEDURE pow(x: REAL; i: INTEGER): REAL; PROCEDURE longpow(x: LONGREAL; i: INTEGER): LONGREAL; PROCEDURE sqrt(x: REAL): REAL; PROCEDURE longsqrt(x: LONGREAL): LONGREAL; PROCEDURE exp(x: REAL): REAL; PROCEDURE longexp(x: LONGREAL): LONGREAL; PROCEDURE ln(x: REAL): REAL; (* natural log *) PROCEDURE longln(x: LONGREAL): LONGREAL; (* natural log *) PROCEDURE log(x: REAL): REAL; (* log with base 10 *) PROCEDURE longlog(x: LONGREAL): LONGREAL; (* log with base 10 *) (* trigonometric functions; arguments in radians *) PROCEDURE sin(x: REAL): REAL; PROCEDURE longsin(x: LONGREAL): LONGREAL; PROCEDURE cos(x: REAL): REAL; PROCEDURE longcos(x: LONGREAL): LONGREAL; PROCEDURE tan(x: REAL): REAL; PROCEDURE longtan(x: LONGREAL): LONGREAL; PROCEDURE arcsin(x: REAL): REAL; PROCEDURE longarcsin(x: LONGREAL): LONGREAL; PROCEDURE arccos(x: REAL): REAL; PROCEDURE longarccos(x: LONGREAL): LONGREAL; PROCEDURE arctan(x: REAL): REAL; PROCEDURE longarctan(x: LONGREAL): LONGREAL; (* hyperbolic functions *) PROCEDURE sinh(x: REAL): REAL; PROCEDURE longsinh(x: LONGREAL): LONGREAL; PROCEDURE cosh(x: REAL): REAL; PROCEDURE longcosh(x: LONGREAL): LONGREAL; PROCEDURE tanh(x: REAL): REAL; PROCEDURE longtanh(x: LONGREAL): LONGREAL; PROCEDURE arcsinh(x: REAL): REAL; PROCEDURE longarcsinh(x: LONGREAL): LONGREAL; PROCEDURE arccosh(x: REAL): REAL; PROCEDURE longarccosh(x: LONGREAL): LONGREAL; PROCEDURE arctanh(x: REAL): REAL; PROCEDURE longarctanh(x: LONGREAL): LONGREAL; (* conversions *) PROCEDURE RadianToDegree(x: REAL): REAL; PROCEDURE longRadianToDegree(x: LONGREAL): LONGREAL; PROCEDURE DegreeToRadian(x: REAL): REAL; PROCEDURE longDegreeToRadian(x: LONGREAL): LONGREAL; END Mathlib.