| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 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 log(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE ln(x : REAL) : REAL;
- BEGIN
- RETURN log(x)
- END ln;
- 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 atan(x : REAL) : REAL;
- EXTERNAL;
- PROCEDURE arctan(x : REAL) : REAL;
- BEGIN
- RETURN atan(x)
- END arctan;
- 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.
|