| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- IMPLEMENTATION MODULE Math;
- (* Direct libm bindings (names are valid Modula-2 identifiers and
- match the C symbols). `fabs` is exposed as `abs`. *)
- PROCEDURE sqrt(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE exp(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE ln(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE sin(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE cos(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE tan(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE asin(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE acos(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE arctan(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE pow(x, y : REAL) : REAL;
- EXTERNAL;
- PROCEDURE fabs(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE log10(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE atan2(y, x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE sinh(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE cosh(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE tanh(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE hypot(x, y : REAL) : REAL;
- EXTERNAL;
- PROCEDURE floor(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE ceil(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE trunc(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE round(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE fmod(x, y : REAL) : REAL;
- EXTERNAL;
- PROCEDURE arcsin(x : REAL) : REAL;
- BEGIN
- RETURN asin(x)
- END arcsin;
- PROCEDURE arccos(x : REAL) : REAL;
- BEGIN
- RETURN acos(x)
- END arccos;
- PROCEDURE power(x, y : REAL) : REAL;
- BEGIN
- RETURN pow(x, y)
- END power;
- PROCEDURE abs(x : REAL) : REAL;
- BEGIN
- RETURN fabs(x)
- END abs;
- END Math.
|