Mathlib.def 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. DEFINITION MODULE Mathlib;
  2. (*
  3. Module: Mathematical functions
  4. Author: Ceriel J.H. Jacobs
  5. Version: $Id$
  6. *)
  7. (* Some mathematical constants: *)
  8. CONST
  9. (* From: Computer Approximations
  10. Hart, Cheney, e.a.
  11. The SIAM Series in Applied Mathematics
  12. John Wiley & Sons, INC. New York London Sydney, 1968
  13. *)
  14. pi = 3.14159265358979323846264338327950288;
  15. twicepi = 6.28318530717958647692528676655900576;
  16. halfpi = 1.57079632679489661923132169163975144;
  17. quartpi = 0.78539816339744830961566084581987572;
  18. e = 2.71828182845904523536028747135266250;
  19. ln2 = 0.69314718055994530941723212145817657;
  20. ln10 = 2.30258509299404568401799145468436421;
  21. longpi = 3.14159265358979323846264338327950288D;
  22. longtwicepi = 6.28318530717958647692528676655900576D;
  23. longhalfpi = 1.57079632679489661923132169163975144D;
  24. longquartpi = 0.78539816339744830961566084581987572D;
  25. longe = 2.71828182845904523536028747135266250D;
  26. longln2 = 0.69314718055994530941723212145817657D;
  27. longln10 = 2.30258509299404568401799145468436421D;
  28. (* basic functions *)
  29. PROCEDURE pow(x: REAL; i: INTEGER): REAL;
  30. PROCEDURE longpow(x: LONGREAL; i: INTEGER): LONGREAL;
  31. PROCEDURE sqrt(x: REAL): REAL;
  32. PROCEDURE longsqrt(x: LONGREAL): LONGREAL;
  33. PROCEDURE exp(x: REAL): REAL;
  34. PROCEDURE longexp(x: LONGREAL): LONGREAL;
  35. PROCEDURE ln(x: REAL): REAL; (* natural log *)
  36. PROCEDURE longln(x: LONGREAL): LONGREAL; (* natural log *)
  37. PROCEDURE log(x: REAL): REAL; (* log with base 10 *)
  38. PROCEDURE longlog(x: LONGREAL): LONGREAL; (* log with base 10 *)
  39. (* trigonometric functions; arguments in radians *)
  40. PROCEDURE sin(x: REAL): REAL;
  41. PROCEDURE longsin(x: LONGREAL): LONGREAL;
  42. PROCEDURE cos(x: REAL): REAL;
  43. PROCEDURE longcos(x: LONGREAL): LONGREAL;
  44. PROCEDURE tan(x: REAL): REAL;
  45. PROCEDURE longtan(x: LONGREAL): LONGREAL;
  46. PROCEDURE arcsin(x: REAL): REAL;
  47. PROCEDURE longarcsin(x: LONGREAL): LONGREAL;
  48. PROCEDURE arccos(x: REAL): REAL;
  49. PROCEDURE longarccos(x: LONGREAL): LONGREAL;
  50. PROCEDURE arctan(x: REAL): REAL;
  51. PROCEDURE longarctan(x: LONGREAL): LONGREAL;
  52. (* hyperbolic functions *)
  53. PROCEDURE sinh(x: REAL): REAL;
  54. PROCEDURE longsinh(x: LONGREAL): LONGREAL;
  55. PROCEDURE cosh(x: REAL): REAL;
  56. PROCEDURE longcosh(x: LONGREAL): LONGREAL;
  57. PROCEDURE tanh(x: REAL): REAL;
  58. PROCEDURE longtanh(x: LONGREAL): LONGREAL;
  59. PROCEDURE arcsinh(x: REAL): REAL;
  60. PROCEDURE longarcsinh(x: LONGREAL): LONGREAL;
  61. PROCEDURE arccosh(x: REAL): REAL;
  62. PROCEDURE longarccosh(x: LONGREAL): LONGREAL;
  63. PROCEDURE arctanh(x: REAL): REAL;
  64. PROCEDURE longarctanh(x: LONGREAL): LONGREAL;
  65. (* conversions *)
  66. PROCEDURE RadianToDegree(x: REAL): REAL;
  67. PROCEDURE longRadianToDegree(x: LONGREAL): LONGREAL;
  68. PROCEDURE DegreeToRadian(x: REAL): REAL;
  69. PROCEDURE longDegreeToRadian(x: LONGREAL): LONGREAL;
  70. END Mathlib.