| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * MATHLIB.MOD - Floating point support (see also COREMATH.A) *
- * *
- * COPYRIGHT (C) 1987..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*%F _fdata *)
- (*# call(seg_name => null) *)
- (*# data(seg_name => null) *)
- (*%E *)
- (*# check(stack=>off,
- index=>off,
- range=>off,
- overflow=>off,
- nil_ptr=>off) *)
- (*# module(implementation=>off) *)
- IMPLEMENTATION MODULE MATHLIB;
- PROCEDURE LoadControlWord(C : BITSET); IN AsmLib;
- PROCEDURE StoreControlWord() : BITSET; IN AsmLib;
- PROCEDURE ClearExceptions(); IN AsmLib;
- PROCEDURE StoreEnvironment(VAR Env: Environment); IN AsmLib;
- PROCEDURE InternalBcdToLong(A: PackedBcd) : LONGREAL; IN AsmLib;
- PROCEDURE Rexp(VAR I : INTEGER;A : LONGREAL) : LONGREAL;
- BEGIN
- RETURN CoreMath.frexp(A, I);
- END Rexp;
- PROCEDURE LongToBcd(A: LONGREAL) : PackedBcd;
- VAR res:PackedBcd;
- BEGIN
- CoreMath._bcd(TEMPREAL(A),NearADR(res));
- RETURN res;
- END LongToBcd;
- PROCEDURE BcdToLong(A: PackedBcd) : LONGREAL;
- BEGIN
- RETURN InternalBcdToLong(A);
- END BcdToLong;
- PROCEDURE IntPow(X:LONGREAL;K:INTEGER):LONGREAL;
- BEGIN
- RETURN LONGREAL(CoreMath._pow_int(TEMPREAL(X),K));
- END IntPow;
- PROCEDURE ATan2(X,Y : LONGREAL) : LONGREAL;
- BEGIN
- RETURN CoreMath.atan2(Y, X);
- END ATan2;
- END MATHLIB.
|