"Abstraction of numbers. Binary numeric operations are defined the interface [[Numeric]]. This type defines operations which can be expressed without reference to the self type `Other` of `Numeric`." see (`interface Numeric`, `interface Scalar`) by ("Gavin") shared interface Number { "Determine if the number is positive." shared formal Boolean positive; "Determine if the number is negative." shared formal Boolean negative; "The number, represented as a `Float`." throws (`class OverflowException`, "if the number is too large to be represented as a `Float`") shared formal Float float; "The number, represented as an `Integer`, after truncation of any fractional part." throws (`class OverflowException`, "if the number is too large to be represented as an `Integer`") shared formal Integer integer; "The magnitude of the number." shared formal Number magnitude; "The sign of this number. Returns `1` if the number is positive, `-1` if it is negative, or `0` if it is zero." shared formal Integer sign; "The fractional part of the number, after truncation of the integral part." shared formal Number fractionalPart; "The integral value of the number after truncation of the fractional part." shared formal Number wholePart; }