Companion
Properties
The CheckedMethod for divideStatic.
The CheckedMethod for extractDoubleStatic.
Extract a Java float from the receiver.
The CheckedMethod for extractInt.
Extract a signed byte from the receiver.
Extract a signed short from the receiver.
The CheckedMethod for isDouble.
The CheckedMethod for isInt.
Answer whether this number is numerically equal to some finite integer.
Answer whether this integral infinity is positive.
Answer whether this value is an integer in the range [-128..127].
Answer whether this value is an integer in the range [-32768..32767].
Answer whether this value is an integer in the range [0..65535].
The CheckedMethod for minusStatic.
The CheckedMethod for numericCompare.
The CheckedMethod for timesCanDestroy.
Given an Avail integer, answer which power of two it is. 1->0, 2->1, 4->2, 8->3, etc. If the number is not a power of two, answer -1.
Functions
Add the receiver to the given finite integer, destroying one or the other if it's mutable and canDestroy is true. Because of the requirement that the argument be an integer rather than an arbitrary A_Number, this is usually only used for double-dispatching.
Convert the receiver, which must be an integer, into a Java BigInteger.
Produce an integer like the receiver, but with the bit corresponding to 2^bitPosition either set or cleared, depending on value. The receiver may be recycled or destroyed if canDestroy is true.
Shift this integer left by the specified number of bits. If the shift amount is negative, perform a right shift instead (of the negation of the specified amount). In the case that the receiver is negative, shift in zeroes on the right or ones on the left.
Shift the non-negative integer to the left by the specified number of bits, then truncate the representation to force bits above the specified position to be zeroed. The shift factor may be negative, indicating a right shift by the corresponding positive amount, in which case truncation will still happen.
Compute the boolean and operation for the corresponding bits of the receiver and anInteger. Both values are signed 2's complement integers.
Compute the boolean exclusive-or operation for the corresponding bits of the receiver and anInteger. Both values are signed 2's complement integers.
Answer whether the receiver is numerically greater than or equivalent to the argument.
Answer whether the receiver is numerically greater than the argument.
Answer whether the receiver is numerically less than or equivalent to the argument.
Difference the receiver and the argument aNumber and answer the result. The operation is not allowed to fail, so the caller must ensure that the arguments are valid, i.e. not infinities of like sign.
Add the receiver and the argument aNumber and answer the result. The operation is not allowed to fail, so the caller must ensure that the arguments are valid, i.e. not infinities of unlike sign.
Answer an ordering between the receiver and the argument. This compares the underlying real numeric values of the two A_Numbers, which does not necessarily agree with the equals semantics. In particular, under numerical ordering, 5 = 5.0 = 5.0f, and 0.0/0.0 is incomparable to every number, even itself. Under ordinary equality (the equals method), an integer never equals a float, and neither ever equals a double. However, 0.0/0.0 is equal to 0.0/0.0, since they have the same kind (double) and the same bit pattern. Note that hash agrees with general equality, not the numeric ordering.
This produces the same value as numericCompare, but the argument is an unboxed double value.
This produces the same value as numericCompare, but the argument is known to be an integral infinity whose Sign is provided.
This produces the same value as numericCompare, but the argument is known to be an integer.
Extract a (signed) base 2^32 digit from the integer. The index must be in range for the integer's representation.
Replace a (signed) base 2^32 digit of the integer. The index must be in range for the integer's representation, and the receiver must be mutable.
Extract an unsigned base 2^32 digit from the integer. The index must be in range for the integer's representation.
Replace an unsigned base 2^32 digit of the integer. The index must be in range for the integer's representation, and the receiver must be mutable.
Subtract the receiver from the given integer, destroying one or the other if it's mutable and canDestroy is true.
Normalize the integer to have the minimum number of base 2^32 digits.