intx abstract class
A fixed-precision integer.
abstract class intx implements Comparable {
// Arithmetic operations.
intx operator +(other);
intx operator -(other);
// The unary '-' operator. Note that -MIN_VALUE will be equal
// to MIN_VALUE due to overflow.
intx operator -();
intx operator *(other);
intx operator %(other);
// Truncating division.
intx operator ~/(other);
intx remainder(other);
// Note: no / operator
// Bit-operations.
intx operator &(other);
intx operator |(other);
intx operator ^(other);
intx operator ~();
intx operator <<(int shiftAmount);
intx operator >>(int shiftAmount);
intx shiftRightUnsigned(int shiftAmount);
// Relational operations, may be applied to intx or int.
int compareTo(Comparable other);
bool operator ==(other);
bool operator <(other);
bool operator <=(other);
bool operator >(other);
bool operator >=(other);
// Testers.
bool isEven();
bool isMaxValue();
bool isMinValue();
bool isNegative();
bool isOdd();
bool isZero();
int hashCode;
intx abs();
/**
* Returns the number of leading zeros in this [intx] as an [int]
* between 0 and 64.
*/
int numberOfLeadingZeros();
/**
* Returns the number of trailing zeros in this [intx] as an [int]
* between 0 and 64.
*/
int numberOfTrailingZeros();
/**
* Converts this [intx] to a [List] of [int], starting with the least
* significant byte.
*/
List<int> toBytes();
/**
* Converts this [intx] to an [int]. On some platforms, inputs with large
* absolute values (i.e., > 2^52) may lose some of their low bits.
*/
int toInt();
/**
* Converts an [intx] to 32 bits. Narrower values are sign extended and
* wider values have their high bits truncated.
*/
int32 toInt32();
/**
* Converts an [intx] to 64 bits.
*/
int64 toInt64();
/**
* Returns the value of this [intx] as a decimal [String].
*/
String toString();
/**
* Returns the value of this [intx] as a hexadecimal [String].
*/
String toHexString();
/**
* Returns the value of this [intx] as a [String] in the given radix.
* [radix] must be an integer between 2 and 16, inclusive.
*/
String toRadixString(int radix);
}
Subclasses
Implements
Properties
int hashCode #
Get a hash code for this object.
All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator ==. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.
If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.
hashCode
Operators
abstract bool operator <(other) #
abstract bool operator <=(other) #
abstract bool operator >(other) #
abstract bool operator >=(other) #
abstract bool operator ==(other) #
The equality operator.
The default behavior for all Objects is to return true if and
only if this and
other are the same object.
If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.
Methods
abstract int compareTo(Comparable other) #
Compares this object to another Comparable
Returns a value like a Comparator when comparing this to
other.
May throw an ArgumentError if
other is of a type that
is not comparable to this.
abstract bool isEven() #
abstract bool isMaxValue() #
abstract bool isMinValue() #
abstract bool isNegative() #
abstract bool isOdd() #
abstract bool isZero() #
abstract int numberOfLeadingZeros() #
Returns the number of leading zeros in this intx as an int
between 0 and 64.
abstract int numberOfTrailingZeros() #
Returns the number of trailing zeros in this intx as an int
between 0 and 64.
abstract List<int> toBytes() #
Converts this intx to a List of int, starting with the least
significant byte.
abstract int toInt() #
Converts this intx to an int. On some platforms, inputs with large
absolute values (i.e., > 2^52) may lose some of their low bits.
abstract int32 toInt32() #
Converts an intx to 32 bits. Narrower values are sign extended and wider values have their high bits truncated.