math.mod 545 B

12345678910111213141516171819202122232425262728293031
  1. IMPLEMENTATION MODULE Math;
  2. (* Direct libm bindings (names are valid Modula-2 identifiers and
  3. match the C symbols). `fabs` is exposed as `abs`. *)
  4. PROCEDURE sqrt(x : REAL) : REAL;
  5. EXTERNAL;
  6. PROCEDURE exp(x : REAL) : REAL;
  7. EXTERNAL;
  8. PROCEDURE ln(x : REAL) : REAL;
  9. EXTERNAL;
  10. PROCEDURE sin(x : REAL) : REAL;
  11. EXTERNAL;
  12. PROCEDURE cos(x : REAL) : REAL;
  13. EXTERNAL;
  14. PROCEDURE arctan(x : REAL) : REAL;
  15. EXTERNAL;
  16. PROCEDURE fabs(x : REAL) : REAL;
  17. EXTERNAL;
  18. PROCEDURE abs(x : REAL) : REAL;
  19. BEGIN
  20. RETURN fabs(x)
  21. END abs;
  22. END Math.