| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- IMPLEMENTATION MODULE LongMath;
- IMPORT Math;
- PROCEDURE sqrt (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.sqrt(x) END sqrt;
- PROCEDURE exp (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.exp(x) END exp;
- PROCEDURE ln (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.ln(x) END ln;
- PROCEDURE sin (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.sin(x) END sin;
- PROCEDURE cos (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.cos(x) END cos;
- PROCEDURE tan (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.tan(x) END tan;
- PROCEDURE arcsin (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.arcsin(x) END arcsin;
- PROCEDURE arccos (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.arccos(x) END arccos;
- PROCEDURE arctan (x : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.arctan(x) END arctan;
- PROCEDURE power (base, exponent : LONGREAL) : LONGREAL;
- BEGIN RETURN Math.power(base, exponent) END power;
- PROCEDURE round (x : LONGREAL) : INTEGER;
- (* nearest integer, halves away from zero *)
- BEGIN
- IF x >= 0.0 THEN
- RETURN VAL(INTEGER, Math.floor(x + 0.5))
- ELSE
- RETURN VAL(INTEGER, Math.ceil(x - 0.5))
- END
- END round;
- PROCEDURE IsRMathException () : BOOLEAN;
- BEGIN
- RETURN FALSE
- END IsRMathException;
- END LongMath.
|