Int64
Utilities for working with the Int64 type.
Edit on GitHubAdded in 0.2.0
No other changes yet.
from "int64" include Int64
1L
-1L
Functions and constants included in the Int64 module.
Added in 0.2.0
No other changes yet.
fromNumber : (number: Number) => Int64
Converts a Number to an Int64.
Parameters:
| param | type | description |
|---|---|---|
number | Number | The value to convert |
number: The value to convertReturns:
| type | description |
|---|---|
Int64 | The Number represented as an Int64 |
Int64: The Number represented as an Int64Added in 0.2.0
No other changes yet.
toNumber : (value: Int64) => Number
Converts an Int64 to a Number.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to convert |
value: The value to convertReturns:
| type | description |
|---|---|
Number | The Int64 represented as a Number |
Number: The Int64 represented as a NumberAdded in 0.6.0
No other changes yet.
fromUint64 : (number: Uint64) => Int64
Converts a Uint64 to an Int64.
Parameters:
| param | type | description |
|---|---|---|
number | Uint64 | The value to convert |
number: The value to convertReturns:
| type | description |
|---|---|
Int64 | The Uint64 represented as an Int64 |
Int64: The Uint64 represented as an Int64Examples:
Int64.fromUint64(1uL) == 1L
Added in 0.2.0
No other changes yet.
incr : (value: Int64) => Int64
Increments the value by one.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to increment |
value: The value to incrementReturns:
| type | description |
|---|---|
Int64 | The incremented value |
Int64: The incremented valueExamples:
Int64.incr(1L) == 2L
Int64.incr(-2L) == -1L
Added in 0.2.0
No other changes yet.
decr : (value: Int64) => Int64
Decrements the value by one.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to decrement |
value: The value to decrementReturns:
| type | description |
|---|---|
Int64 | The decremented value |
Int64: The decremented valueExamples:
Int64.decr(2L) == 1L
Int64.decr(0L) == -1L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `add` |
(+) : (x: Int64, y: Int64) => Int64
Computes the sum of its operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The sum of the two operands |
Int64: The sum of the two operandsExamples:
use Int64.{ (+) }
assert 1L + 1L == 2L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `sub` |
(-) : (x: Int64, y: Int64) => Int64
Computes the difference of its operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The difference of the two operands |
Int64: The difference of the two operandsExamples:
use Int64.{ (-) }
assert 2L - 1L == 1L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `*` |
(*) : (x: Int64, y: Int64) => Int64
Computes the product of its operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The product of the two operands |
Int64: The product of the two operandsExamples:
use Int64.{ (*) }
assert 2L * 2L == 4L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `div` |
(/) : (x: Int64, y: Int64) => Int64
Computes the quotient of its operands using signed division.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The quotient of its operands |
Int64: The quotient of its operandsExamples:
use Int64.{ (/) }
assert 8L / 2L == 4L
Added in 0.2.0
No other changes yet.
rem : (x: Int64, y: Int64) => Int64
Computes the remainder of the division of its operands using signed division.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The remainder of its operands |
Int64: The remainder of its operandsExamples:
Int64.rem(8L, 3L) == 2L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `mod` |
(%) : (x: Int64, y: Int64) => Int64
Computes the remainder of the division of the first operand by the second. The result will have the sign of the second operand.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | The modulus of its operands |
Int64: The modulus of its operandsThrows:
ModuloByZero
- When
yis zero
Examples:
use Int64.{ (%) }
assert -5L % 3L == 1L
Added in 0.4.0
No other changes yet.
rotl : (value: Int64, amount: Int64) => Int64
Rotates the bits of the value left by the given number of bits.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to rotate |
amount | Int64 | The number of bits to rotate by |
value: The value to rotateamount: The number of bits to rotate byReturns:
| type | description |
|---|---|
Int64 | The rotated value |
Int64: The rotated valueExamples:
Int64.rotl(1L, 1L) == 2L
Int64.rotl(1L, 2L) == 4L
Added in 0.4.0
No other changes yet.
rotr : (value: Int64, amount: Int64) => Int64
Rotates the bits of the value right by the given number of bits.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to rotate |
amount | Int64 | The number of bits to rotate by |
value: The value to rotateamount: The number of bits to rotate byReturns:
| type | description |
|---|---|
Int64 | The rotated value |
Int64: The rotated valueExamples:
Int64.rotr(2L, 1L) == 1L
Int64.rotr(4L, 2L) == 1L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `shl` |
(<<) : (value: Int64, amount: Int64) => Int64
Shifts the bits of the value left by the given number of bits.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to shift |
amount | Int64 | The number of bits to shift by |
value: The value to shiftamount: The number of bits to shift byReturns:
| type | description |
|---|---|
Int64 | The shifted value |
Int64: The shifted valueExamples:
use Int64.{ (<<) }
assert (5L << 1L) == 10L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `shr` |
(>>) : (value: Int64, amount: Int64) => Int64
Shifts the bits of the value right by the given number of bits, preserving the sign bit.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to shift |
amount | Int64 | The amount to shift by |
value: The value to shiftamount: The amount to shift byReturns:
| type | description |
|---|---|
Int64 | The shifted value |
Int64: The shifted valueExamples:
use Int64.{ (>>) }
assert (5L >> 1L) == 2L
Added in 0.6.0
| version | changes |
|---|---|
0.4.0 | Originally named `eq` |
(==) : (x: Int64, y: Int64) => Bool
Checks if the first value is equal to the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is equal to the second value or false otherwise |
Bool: true if the first value is equal to the second value or false otherwiseExamples:
use Int64.{ (==) }
assert 1L == 1L
Added in 0.6.0
| version | changes |
|---|---|
0.4.0 | Originally named `ne` |
(!=) : (x: Int64, y: Int64) => Bool
Checks if the first value is not equal to the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is not equal to the second value or false otherwise |
Bool: true if the first value is not equal to the second value or false otherwiseExamples:
use Int64.{ (!=) }
assert 1L != 2L
Added in 0.4.0
No other changes yet.
eqz : (value: Int64) => Bool
Checks if the given value is equal to zero.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to inspect |
value: The value to inspectReturns:
| type | description |
|---|---|
Bool | true if the first value is equal to zero or false otherwise |
Bool: true if the first value is equal to zero or false otherwiseExamples:
Int64.eqz(0L) == true
Int64.eqz(1L) == false
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `lt` |
(<) : (x: Int64, y: Int64) => Bool
Checks if the first value is less than the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is less than the second value or false otherwise |
Bool: true if the first value is less than the second value or false otherwiseExamples:
use Int64.{ (<) }
assert 1L < 2L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `gt` |
(>) : (x: Int64, y: Int64) => Bool
Checks if the first value is greater than the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is greater than the second value or false otherwise |
Bool: true if the first value is greater than the second value or false otherwiseExamples:
use Int64.{ (>) }
assert 2L > 1L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `lte` |
(<=) : (x: Int64, y: Int64) => Bool
Checks if the first value is less than or equal to the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is less than or equal to the second value or false otherwise |
Bool: true if the first value is less than or equal to the second value or false otherwiseExamples:
use Int64.{ (<=) }
assert 1L <= 2L
use Int64.{ (<=) }
assert 1L <= 1L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `gte` |
(>=) : (x: Int64, y: Int64) => Bool
Checks if the first value is greater than or equal to the second value.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first value |
y | Int64 | The second value |
x: The first valuey: The second valueReturns:
| type | description |
|---|---|
Bool | true if the first value is greater than or equal to the second value or false otherwise |
Bool: true if the first value is greater than or equal to the second value or false otherwiseExamples:
use Int64.{ (>=) }
assert 2L >= 1L
use Int64.{ (>=) }
assert 1L >= 1L
Added in 0.2.0
No other changes yet.
lnot : (value: Int64) => Int64
Computes the bitwise NOT of the given value.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The given value |
value: The given valueReturns:
| type | description |
|---|---|
Int64 | Containing the inverted bits of the given value |
Int64: Containing the inverted bits of the given valueExamples:
Int64.lnot(-5L) == 4L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `land` |
(&) : (x: Int64, y: Int64) => Int64
Computes the bitwise AND (&) on the given operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | Containing a 1 in each bit position for which the corresponding bits of both operands are 1 |
Int64: Containing a 1 in each bit position for which the corresponding bits of both operands are 1Examples:
use Int64.{ (&) }
assert (3L & 4L) == 0L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `lor` |
(|) : (x: Int64, y: Int64) => Int64
Computes the bitwise OR (|) on the given operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | Containing a 1 in each bit position for which the corresponding bits of either or both operands are 1 |
Int64: Containing a 1 in each bit position for which the corresponding bits of either or both operands are 1Examples:
use Int64.{ (|) }
assert (3L | 4L) == 7L
Added in 0.6.0
| version | changes |
|---|---|
0.2.0 | Originally named `lxor` |
(^) : (x: Int64, y: Int64) => Int64
Computes the bitwise XOR (^) on the given operands.
Parameters:
| param | type | description |
|---|---|---|
x | Int64 | The first operand |
y | Int64 | The second operand |
x: The first operandy: The second operandReturns:
| type | description |
|---|---|
Int64 | Containing a 1 in each bit position for which the corresponding bits of either but not both operands are 1 |
Int64: Containing a 1 in each bit position for which the corresponding bits of either but not both operands are 1Examples:
use Int64.{ (^) }
assert (3L ^ 5L) == 6L
Added in 0.4.0
No other changes yet.
clz : (value: Int64) => Int64
Counts the number of leading zero bits in the value.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to inspect |
value: The value to inspectReturns:
| type | description |
|---|---|
Int64 | The amount of leading zeros |
Int64: The amount of leading zerosExamples:
Int64.clz(1L) == 63L
Int64.clz(4L) == 61L
Added in 0.4.0
No other changes yet.
ctz : (value: Int64) => Int64
Counts the number of trailing zero bits in the value.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to inspect |
value: The value to inspectReturns:
| type | description |
|---|---|
Int64 | The amount of trailing zeros |
Int64: The amount of trailing zerosExamples:
Int64.ctz(1L) == 0L
Int64.ctz(4L) == 2L
Added in 0.4.0
No other changes yet.
popcnt : (value: Int64) => Int64
Counts the number of bits set to 1 in the value, also known as a population count.
Parameters:
| param | type | description |
|---|---|---|
value | Int64 | The value to inspect |
value: The value to inspectReturns:
| type | description |
|---|---|
Int64 | The amount of 1-bits in its operand |
Int64: The amount of 1-bits in its operandExamples:
Int64.popcnt(1L) == 1L
Int64.popcnt(3L) == 2L
Added in 0.6.0
No other changes yet.
(**) : (base: Int64, power: Int64) => Int64
Computes the exponentiation of the given base and power.
Parameters:
| param | type | description |
|---|---|---|
base | Int64 | The base number |
power | Int64 | The exponent number |
base: The base numberpower: The exponent numberReturns:
| type | description |
|---|---|
Int64 | The base raised to the given power |
Int64: The base raised to the given powerExamples:
from Int64 use { (**) }
assert 2L ** 3L == 8L