Defines a Long class for representing a 64-bit two’s-complement integer value, which faithfully simulates the behavior of a Java “Long”. This implementation is derived from LongLib in GWT.
- class Long()¶
Arguments:
- low (number) – the low (signed) 32 bits of the Long.
- high (number) – the high (signed) 32 bits of the Long.
Constructs a 64-bit two’s-complement integer, given its low and high 32-bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs.
The internal representation of a Long is the two given signed, 32-bit values. We use 32-bit pieces because these are the size of integers on which Javascript performs bit-operations. For operations like addition and multiplication, we split each number into 16-bit pieces, which can easily be multiplied within Javascript’s floating-point representation without overflow or change in sign.
In the algorithms below, we frequently reduce the negative case to the positive case by negating the input(s) and then post-processing the result. Note that we must ALWAYS check specially whether those values are MIN_VALUE (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as a positive number, it overflows back into a negative). Not handling this case would often result in infinite recursion.
Return the Number value.
Returns: | number the closest floating-point representation to this value. |
---|
Return the String value.
Arguments: |
|
---|---|
Returns: | string the textual representation of this value. |
Return the high 32-bits value.
Returns: | number the high 32-bits as a signed value. |
---|
Return the low 32-bits value.
Returns: | number the low 32-bits as a signed value. |
---|
Return the low unsigned 32-bits value.
Returns: | number the low 32-bits as an unsigned value. |
---|
Returns the number of bits needed to represent the absolute value of this Long.
Returns: | number Returns the number of bits needed to represent the absolute value of this Long. |
---|
Return whether this value is negative.
Returns: | boolean whether this value is negative. |
---|
Return whether this Long equals the other
Arguments: |
|
---|---|
Returns: | boolean whether this Long equals the other |
Return whether this Long does not equal the other.
Arguments: |
|
---|---|
Returns: | boolean whether this Long does not equal the other. |
Return whether this Long is less than the other.
Arguments: |
|
---|---|
Returns: | boolean whether this Long is less than the other. |
Return whether this Long is less than or equal to the other.
Arguments: |
|
---|---|
Returns: | boolean whether this Long is less than or equal to the other. |
Return whether this Long is greater than the other.
Arguments: |
|
---|---|
Returns: | boolean whether this Long is greater than the other. |
Return whether this Long is greater than or equal to the other.
Arguments: |
|
---|---|
Returns: | boolean whether this Long is greater than or equal to the other. |
Compares this Long with the given one.
Arguments: |
|
---|---|
Returns: | boolean 0 if they are the same, 1 if the this is greater, and -1 if the given one is greater. |
Returns the sum of this and the given Long.
Arguments: |
|
---|---|
Returns: | long the sum of this and the given Long. |
Returns the difference of this and the given Long.
Arguments: |
|
---|---|
Returns: | long the difference of this and the given Long. |
Returns the product of this and the given Long.
Arguments: |
|
---|---|
Returns: | long the product of this and the other. |
Returns this Long divided by the given one.
Arguments: |
|
---|---|
Returns: | long this Long divided by the given one. |
Returns this Long modulo the given one.
Arguments: |
|
---|---|
Returns: | long this Long modulo the given one. |
Returns the bitwise-AND of this Long and the given one.
Arguments: |
|
---|---|
Returns: | long the bitwise-AND of this and the other. |
Returns the bitwise-OR of this Long and the given one.
Arguments: |
|
---|---|
Returns: | long the bitwise-OR of this and the other. |
Returns the bitwise-XOR of this Long and the given one.
Arguments: |
|
---|---|
Returns: | long the bitwise-XOR of this and the other. |
Returns this Long with bits shifted to the left by the given amount.
Arguments: |
|
---|---|
Returns: | long this shifted to the left by the given amount. |
Returns this Long with bits shifted to the right by the given amount.
Arguments: |
|
---|---|
Returns: | long this shifted to the right by the given amount. |
Returns this Long with bits shifted to the right by the given amount, with the new top bits matching the current sign bit.
Arguments: |
|
---|---|
Returns: | long this shifted to the right by the given amount, with zeros placed into the new leading bits. |
Returns a Long representing the given (32-bit) integer value.
Arguments: |
|
---|---|
Returns: | long the corresponding Long value. |
Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
Arguments: |
|
---|---|
Returns: | long the corresponding Long value. |
Returns a Long representing the 64-bit integer that comes by concatenating the given high and low bits. Each is assumed to use 32 bits.
Arguments: |
|
---|---|
Returns: | long the corresponding Long value. |
Returns a Long representation of the given string, written using the given radix.
Arguments: |
|
---|---|
Returns: | long the corresponding Long value. |