| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * MATH.DEF - Modula-2 interface to MATH.H *
- * *
- * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# project("#set tsc='on'") *)
- (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *)
- (*# module(implementation=>off, init_code=>off) *)
- (*# name(prefix=>c) *)
- DEFINITION MODULE math;
- CONST
- EDOM = 33; (* Math argument *)
- ERANGE = 34; (* Result too large *)
- DOMAIN = 1; (* parameter not in valid domain *)
- SING = 2; (* function is incalculable at this place *)
- OVERFLOW = 3; (* result exceeds representable range *)
- UNDERFLOW = 4; (* result too close to zero to be represented *)
- TLOSS = 5; (* total loss of precision (eg. Sine (2**65)) *)
- PLOSS = 6; (* partial precision loss *)
- (* Constants rounded for 18 decimals. *)
- MA_E = 2.71828182845904524;
- MA_LOG2E = 1.44269504088896341;
- MA_LOG10E = 0.434294481903251828;
- MA_LN2 = 0.693147180559945309;
- MA_LN10 = 2.30258509299404568;
- MA_PI = 3.14159265358979324;
- MA_PI_2 = 1.57079632679489662;
- MA_PI_4 = 0.785398163397448310;
- MA_1_PI = 0.318309886183790672;
- MA_2_PI = 0.636619772367581343;
- MA_1_SQRTPI = 0.564189583547756287;
- MA_2_SQRTPI = 1.12837916709551257;
- MA_SQRT2 = 1.41421356237309505;
- MA_SQRT_2 = 0.707106781186547524;
- TYPE
- exception = RECORD
- type : INTEGER;
- name : ARRAY[0..9] OF CHAR;
- arg1,
- arg2,
- retval : LONGREAL;
- END;
- complex = RECORD (* as used by cabs function *)
- x,y : LONGREAL;
- END;
- VAR
- doserrno : INTEGER; (* global DOS error variable *)
- errno : INTEGER; (* global error variable *)
- (* **** This procedure returns a pointer to an integer *)
- PROCEDURE _errno__():ADDRESS;
- PROCEDURE abs(x:INTEGER):CARDINAL;
- PROCEDURE acos(x:LONGREAL):LONGREAL;
- PROCEDURE asin(x:LONGREAL):LONGREAL;
- PROCEDURE atan(x:LONGREAL):LONGREAL;
- PROCEDURE atan2(y,x:LONGREAL):LONGREAL;
- PROCEDURE atof(s:ARRAY OF CHAR):LONGREAL;
- PROCEDURE ceil(x:LONGREAL):LONGREAL;
- PROCEDURE cos(x:LONGREAL):LONGREAL;
- PROCEDURE cosh(x:LONGREAL):LONGREAL;
- PROCEDURE exp(x:LONGREAL):LONGREAL;
- PROCEDURE fabs(x:LONGREAL):LONGREAL;
- PROCEDURE floor(x:LONGREAL):LONGREAL;
- PROCEDURE fmod(x,y:LONGREAL):LONGREAL;
- PROCEDURE frexp(x:LONGREAL;VAR exp:INTEGER):LONGREAL;
- PROCEDURE labs(x:LONGINT):LONGCARD;
- PROCEDURE ldexp(x:LONGREAL;exp:INTEGER):LONGREAL;
- PROCEDURE log(x:LONGREAL):LONGREAL;
- PROCEDURE log10(x:LONGREAL):LONGREAL;
- PROCEDURE modf(x:LONGREAL;VAR ipart:LONGREAL):LONGREAL;
- PROCEDURE poly(x:LONGREAL;degree:INTEGER;coeffs:ARRAY OF LONGREAL):LONGREAL;
- PROCEDURE pow(x,y:LONGREAL):LONGREAL;
- PROCEDURE sin(x:LONGREAL):LONGREAL;
- PROCEDURE sinh(x:LONGREAL):LONGREAL;
- PROCEDURE sqrt(x:LONGREAL):LONGREAL;
- PROCEDURE tan(x:LONGREAL):LONGREAL;
- PROCEDURE tanh(x:LONGREAL):LONGREAL;
- PROCEDURE hypot(x,y:LONGREAL):LONGREAL;
- PROCEDURE pow10(p:INTEGER):LONGREAL;
- PROCEDURE _fpreset;
- TYPE
- CharPtr = POINTER TO CHAR;
- PROCEDURE acosl(x: TEMPREAL): TEMPREAL;
- PROCEDURE asinl(x: TEMPREAL): TEMPREAL;
- PROCEDURE atanl(x: TEMPREAL): TEMPREAL;
- PROCEDURE atan2l(y: TEMPREAL; x: TEMPREAL): TEMPREAL;
- PROCEDURE atofl(s: ADDRESS): TEMPREAL;
- PROCEDURE ceill(x: TEMPREAL): TEMPREAL;
- PROCEDURE cosl(x: TEMPREAL): TEMPREAL;
- PROCEDURE coshl(x: TEMPREAL): TEMPREAL;
- PROCEDURE expl(x: TEMPREAL): TEMPREAL;
- PROCEDURE fabsl(x: TEMPREAL): TEMPREAL;
- PROCEDURE floorl(x: TEMPREAL): TEMPREAL;
- PROCEDURE fmodl(x: TEMPREAL; y: TEMPREAL): TEMPREAL;
- PROCEDURE frexpl(x: TEMPREAL; VAR exp: CARDINAL): TEMPREAL;
- PROCEDURE ldexpl(x: TEMPREAL; exp: CARDINAL): TEMPREAL;
- PROCEDURE logl(x: TEMPREAL): TEMPREAL;
- PROCEDURE log10l(x: TEMPREAL): TEMPREAL;
- PROCEDURE modfl(x: TEMPREAL; VAR ipart: TEMPREAL): TEMPREAL;
- PROCEDURE polyl(x: TEMPREAL; degree: CARDINAL; coeffs: ARRAY OF TEMPREAL): TEMPREAL;
- PROCEDURE powl(x: TEMPREAL; y: TEMPREAL): TEMPREAL;
- PROCEDURE sinl(x: TEMPREAL): TEMPREAL;
- PROCEDURE sinhl(x: TEMPREAL): TEMPREAL;
- PROCEDURE sqrtl(x: TEMPREAL): TEMPREAL;
- PROCEDURE strtodl(s: ARRAY OF CHAR; VAR eptr: CharPtr): TEMPREAL;
- PROCEDURE tanl(x: TEMPREAL): TEMPREAL;
- PROCEDURE tanhl(x: TEMPREAL): TEMPREAL;
- PROCEDURE hypotl(x: TEMPREAL; y: TEMPREAL): TEMPREAL;
- END math.
|