| # Section 8.12: Numeric Classes |

This section of the required library contains definitions of those abstractions and classes which provide numeric values (including the class MONEY!).

1. Abstract Classes

   1. $NFE - this abstraction is defined over Numeric Field Elements (hence the name $NFE) which may be 'simple' numbers or complex numbers.
   2. $NUMBER - this abstraction models all simple numbers (ie those which are not or do not derive from complex number types).
   3. $SIGNED - this abstraction models all simple number classes which provide for signed arithmetic.
   4. $REAL_NUMBER - this abstraction models the mathematical domain of real numbers.
   5. $CPX_NUMBER - this abstraction models complex numbers consisting of real and imaginary parts.
   6. $EXPONENTS - this abstraction models exponents and logarithms for simple numeric types.
   7. $RANGE - this abstraction models sub-ranges of simple numeric types.
   8. $RANDOM_GEN - this abstraction models a random number generator.

2. Immutable Classes

   1. CARD - this class implements numbers in the Natural number domain within the limitations specified in this definition document (see Annex A).
   2. FIELD - this class implements numbers in the Natural number domain within the limitations specified in this definition document (see Annex A) as in a closed Galois field where no arithmetic underflow or overflow occurs.
   3. INT - this class implements numbers in the Whole number domain within the limitations specified in this definition document (see Annex A).
   4. FLT - this class implements numbers in the Real number domain within the limitations specified by the standard specified in Section 4 for single length numbers.
   5. FLTD - this class implements numbers in the Real number domain within the limitations specified by the standard specified in Section 4 for double length numbers.
   6. CPX - this class implements numbers in the Complex number domain as having two single length real number components.
   7. CPXD - this class implements numbers in the Complex number domain as having two double length real number components.
   8. MONETARY_UNITS - this enumeration class implements all of the world currencies, together with their exchange rates.
   9. MONEY - this class implements values in a money domain in the domain of the culture in which a program is executing.
   10. RANGE - this class implements a subrange of the Natural number domain as values of type CARD.
   11. INT_RANGE - this class implements a subrange of the Whole number domain as values of type INT.

3. Reference Classes

   1. INTI - this class implements numbers in the Whole number domain within a value domain which is implementation-dependent but has a range greater than that for the class INT(see Annex A). An object of this class has immutable semantics.
   2. RANDOM - these classes provide a random number according to a variety of statistical distributions.
   3. DEFAULT_GENERATOR - this class generates random numbers ideally as white noise.

| Language Index |  | Library Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Friday, 10 March 2000. |