home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1989-10-07 | 4.2 KB | 152 lines |
-
- (* Arbitrary Precision Floating Point definition module. *)
-
- DEFINITION MODULE MASAPF;
-
-
- (* Import lists and Definitions *)
-
- FROM MASSTOR IMPORT LIST;
-
-
- PROCEDURE APCOMP(ML,EL: LIST): LIST;
- (*Arbitrary precision floating point composition. e is the
- exponent, m is the mantissa of the arbitrary precision
- floating point number A.*)
-
-
- PROCEDURE APMANT(A: LIST): LIST;
- (*Arbitrary precision floating point mantissa. m is the mantissa
- of the arbitrary precision floating point number A.*)
-
-
- PROCEDURE APEXPT(A: LIST): LIST;
- (*Arbitrary precision floating point exponent. e is the
- exponent of the arbitrary precision floating point number A.*)
-
-
- PROCEDURE ILOG10(N: LIST): LIST;
- (*Integer logarithm base 10.
- N is an integer, l is a beta integer. l=LOG10(ABS(N)).*)
-
-
- PROCEDURE APSPRE(N: LIST);
- (*Arbitrary precision floating point set precision.
- N is the desired precision of the floating point numbers.*)
-
-
- PROCEDURE APFINT(N: LIST): LIST;
- (*Arbitrary precision floating point from integer.
- The integer N is converted to the arbitrary precision
- floating point number A.*)
-
-
- PROCEDURE APSHFT(B,EL: LIST): LIST;
- (*Arbitrary precision floating point shift.
- The arbitrary precision floating point number B is multiplied by 2**e.
- A is an arbitrary precision floating point number.*)
-
-
- PROCEDURE APSIGN(A: LIST): LIST;
- (*Arbitrary precision floating point sign. A is an arbitrary precision
- floating point number, s is the sign of A.*)
-
-
- PROCEDURE APWRIT(A: LIST);
- (*Arbitrary precision floating point write.
- The arbitrary precision floating point number A is written to
- the output stream.*)
-
-
- PROCEDURE APNEG(A: LIST): LIST;
- (*Arbitrary precision floating point negative.
- The arbitrary precision floating point number A is negated.
- B= -A.*)
-
-
- PROCEDURE APABS(A: LIST): LIST;
- (*Arbitrary precision floating point absolute value.
- A is a arbitrary precision floating point number.
- B is the absolute value of A.*)
-
-
- PROCEDURE APCMPR(A,B: LIST): LIST;
- (*Arbitrary precision floating point compare.
- A and B are arbitrary precision floating point numbers.
- s is the sign of the difference of A and B. s=SIGN(A-B).*)
-
-
- PROCEDURE APNELD(A,B: LIST): LIST;
- (*Arbitrary precision floating point number of equal leading digits.
- A and B are arbitrary precision floating point numbers.
- l is the number of equal leading digits of A and B.*)
-
-
- PROCEDURE APPROD(A,B: LIST): LIST;
- (*Arbitrary precision floating point product.
- A, B and C are arbitrary precision floating point numbers.
- C is the product of A and B. C=A*B.*)
-
-
- PROCEDURE APQ(A,B: LIST): LIST;
- (*Arbitrary precision floating point quotient.
- A, B and C are arbitrary precision floating point numbers.
- C is the quotient of A and B. C=A/B.*)
-
-
- PROCEDURE APSUM(A,B: LIST): LIST;
- (*Arbitrary precision floating point sum.
- A, B and C are arbitrary precision floating point numbers.
- C is the sum of A and B. C=A+B.*)
-
-
- PROCEDURE APDIFF(A,B: LIST): LIST;
- (*Arbitrary precision floating point difference.
- A, B and C are arbitrary precision floating point numbers.
- C is the difference of A and B. C=A-B.*)
-
-
- PROCEDURE APLG10(A: LIST): LIST;
- (*Arbitrary precision floating point logarithm base 10.
- A is an arbitrary precision floating point number,
- l is a beta integer, l=LOG10(ABS(A)). *)
-
-
- PROCEDURE APEXP(A,NL: LIST): LIST;
- (*Arbitrary precision floating point exponentiation.
- A and B are arbitrary precision floating point numbers.
- n is a beta-integer. B=A**n.*)
-
-
- PROCEDURE APFRN(A: LIST): LIST;
- (*Arbitrary precision floating point from rational number.
- B is an arbitrary precision floating point number.
- A is a rational number.*)
-
-
- PROCEDURE RNFAP(A: LIST): LIST;
- (*Rational number from arbitrary precision floating point.
- A is an arbitrary precision floating point number.
- B is a rational number.*)
-
-
- PROCEDURE RNDRD(): LIST;
- (*Rational number decimal read. The rational number R is read
- from the input stream. Any preceding blanks are skipped.*)
-
-
- PROCEDURE APROOT(A,NL: LIST): LIST;
- (*Arbitrary precision floating point n-th root.
- A and B are arbitrary precision floating point numbers.
- B is the n-th root of A.*)
-
-
- PROCEDURE APPI(): LIST;
- (*Arbitrary precision floating point pi.
- pi is an arbitrary precision floating point number. *)
-
-
- END MASAPF.
-
-
-