Sather Home Page

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.
Produced with Amaya