[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

Math

inherits from Object

Object <- Math



Operations

Get list of all operations

AbsLong
FixedDiv
FixedFromNumeral
FixedMul
FixedToInt
FormatFixedIntoNumberParts
FormatIntegerIntoNumberParts
Hex8Numeral
HexNumeral
IntToFixed
MaxLong
MaxULong
MinLong
MinULong
NumberAsLetters
NumberAsWords
NumberTo2Text
NumberedTextFromLiteral
Numeral
NumeralFromFixed
NumeralFromMicron
NumeralFromSigned
NumeralInKBytes
PinLong
PlainNumeral
PlainNumeralFromSigned
ScanFixedFromNumberParts
ScanIntegerFromNumberParts
SignedFromNumeral
UnsignedFromHexNumeral
UnsignedFromNumeral


Attributes

Get list of all attributes

Class Math defines no new attributes.


Fields

No fields are defined by Math or any of its superclasses.


Instance template

instance Math tag;
end instance;

Class definition

Define Class Math;
    inherits from Object;

    // integer operations

    intrinsic MaxLong(i: Signed; j: Signed): Signed;
        // return the maximum of the two values
    intrinsic MinLong(i: Signed; j: Signed): Signed;
        // return the minimum of the two values
    intrinsic PinLong(i: Signed; min: Signed; max: Signed): Signed;
        // return Max(Min(i, max), min)
    intrinsic MaxULong(i: Unsigned; j: Unsigned): Unsigned;
        // return the maximum of the two values
    intrinsic MinULong(i: Unsigned; j: Unsigned): Unsigned;
        // return the minimum of the two values
    intrinsic AbsLong(i: Signed): Unsigned;
        // return the absolute value

    // fixed-point number operations
    
    intrinsic FixedMul(multiplicand: Fixed; multiplier: Fixed): Fixed;
    intrinsic FixedDiv(dividend: Fixed; divisor: Fixed): Fixed;

    intrinsic IntToFixed(value: Signed): Fixed;
    intrinsic FixedToInt(value: Fixed): Signed;

    // localizable number formatting routines

    intrinsic Numeral(number: Unsigned): Text;
        // creates a new transient text object for a decimal integer
    intrinsic NumeralFromSigned(number: Signed): Text;
        // creates a new transient text object for a decimal integer
    intrinsic NumeralInKBytes(number: Unsigned): Text;
        // creates a new transient text object for a decimal integer, expressed in K
    intrinsic NumberAsLetters(number: Unsigned): Text;
        // convert to spreadsheet-style A, B, C, ..., AA, ...
    intrinsic NumberTo2Text(number: Unsigned): Text; 
        // -> more general NumeralWithZeroPad
        // converts <number> into a two-character text object
    intrinsic NumberAsWords(number: Unsigned): Text;
        // converts <number> into worded version
    intrinsic NumeralFromFixed(number: Fixed; minFractionDigits: Unsigned;
                        maxFractionDigits: Unsigned; formatFlags: Unsigned): Text;
        // converts <number> into text form
    intrinsic PlainNumeral(number: Unsigned): Text;
        // creates a new transient text object for a decimal integer, without thousands separators
    intrinsic PlainNumeralFromSigned(number: Signed): Text;
        // creates a new transient text object for a signed decimal integer, without thousands separators

    // unlocalizable number formatting routines, not intended for user interface purposes

    intrinsic HexNumeral(number: Unsigned; digits: Unsigned): Text;
        // converts <number> into a hex numeral with exactly <digits> digits
    intrinsic Hex8Numeral(number: Unsigned): Text;
        // converts <number> into an 8-digit hex numeral with leading $
    intrinsic NumeralFromMicron(number: Micron): Text;
        // converts <number> into text form
    intrinsic NumberedTextFromLiteral(base: Literal; number: Unsigned): Text;
        // appends number as decimal to base and creates a transient text object
        // this is useful for making field names for EachExtraField methods
    
    // localizable number scanning routines
    
    intrinsic UnsignedFromNumeral(numeral: HasText; var result: Unsigned): Unsigned;
        // converts <numeral> into an unsigned integer
        // returns number of characters consumed, 0 if not successful
    intrinsic SignedFromNumeral(numeral: HasText; var result: Signed): Unsigned;
        // converts <numeral> into a signed integer
        // returns number of characters consumed, 0 if not successful
    intrinsic FixedFromNumeral(numeral: HasText; var result: Fixed): Unsigned;
        // converts <numeral> into a fixed-point number
        // returns number of characters consumed, 0 if not successful

    // unlocalizable number scanning routines, not intended for user interface purposes
    
    intrinsic UnsignedFromHexNumeral(numeral: HasText; var result: Unsigned): Unsigned;
        // converts <numeral> into an unsigned integer from hex
    
    // basic support for formatting and scanning

    intrinsic FormatFixedIntoNumberParts(number: Fixed; minFractionDigits: Unsigned;
                maxFractionDigits: Unsigned; var theNumberParts: NumberParts);
    intrinsic FormatIntegerIntoNumberParts(number: Unsigned; minusSign: Boolean; var theNumberParts: NumberParts);
    intrinsic ScanFixedFromNumberParts(theNumberParts: NumberParts; var result: Fixed): Boolean;
    intrinsic ScanIntegerFromNumberParts(theNumberParts: NumberParts;
        var result: Unsigned; var isNegative: Boolean): Boolean;

end class;