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 have a unity and other positive values (although not necessarily a zero value).
    2. $ZERO - this abstraction models the concept of zero as a number.
    3. $ADD_OPS - this abstraction models the concepts of addition and subtraction of numbers.
    4. $CONVERSION - this abstraction models all value conversion operations between the different numeric model values (without any loss of precision/accuracy).
    5. $ARITHMETIC - this abstraction models numeric types having multiplicative operations in their range and domain.
    6. $LIMITED - this abstraction models the concept of implementation limitations on the range of values representable for some numeric type.
    7. $SIGNED - this abstraction over the domain of signed number classes models operations which apply to values of those classes only.
    8. $COUNTS - this abstraction over the domain of exact number classes models the concept of counting methods.
    9. $SEQUENCERS - this abstraction over the domain of exact number classes models the concept of number sequences.
    10. $ROUNDING - this abstraction models the mathematical domain of approximate number transformation to an exact value by rounding/truncating, etc.
    11. $VALUE_ITERS - this abstraction models the domain of numeric classes which provide features for value iteration.
    12. $IEEE_FLOAT - this abstraction models the special operations on approximate number values sepcified by the IEEE 754 standard.
    13. $LOG_OPS - this abstraction models the mathematical domain of numbers for which logarithmic operations are appropriate.
    14. $ORDINAL - this abstraction models the mathematical domain of ordinal numbers.
    15. $SIMPLE_NUM - this abstraction models those numeric classes for which the concept of a linear range and tolerances is meaningful.
    16. $WHOLE_NUM - this abstraction models those numeric classes which have an exact representation in an implementation.
    17. $CARDINAL - this abstraction models the mathematical domain of cardinal numbers.
    18. $INTEGER - this abstraction models the mathematical domain of integer numbers.
    19. $RATIONAL - this abstraction models the mathematical domain of rational numbers.
    20. $REAL - this abstraction models the mathematical domain of real numbers.
    21. $COMPLEX - this abstraction models complex numbers consisting of real and imaginary parts.
    22. $RANGE - this abstraction models sub-ranges of simple numeric types.
    23. $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. RANGE - this class implements a subrange of the Natural number domain as values of type CARD.
    10. 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 mathematical domain of whole numbers - with potentially infinite range - which shall only depend on the storage capacity of the machine executing a program. An object of this class has immutable semantics.
    2. RAT - this class implements numbers in the mathematical domain of rational numbers - with potentially infinite range and precision - which shall only depend on the storage capacity of the machine executing a program. An object of this class has immutable semantics.
    3. MONEY - this class implements values in a money domain in the domain of the culture in which a program is executing.
    4. WHITE_GEN - this class generates random numbers ideally as white noise.
    5. RANDOM - this class providea random numbers of various numeric types and ranges as produced by a white noise generator.

Language Index Library Index
Comments or enquiries should be made to Keith Hopper.
Page last modified: Wednesday, 21 February 2001.
Produced with Amaya