Int64

GitHub   Edit on GitHub

Utilities for working with the Int64 type.

Added in 0.2.0 No other changes yet.
1
from "int64" include Int64
1
1L
1
-1L

Values

Functions and constants included in the Int64 module.

Int64.fromNumber

Added in 0.2.0 No other changes yet.
1
fromNumber : (number: Number) => Int64

Converts a Number to an Int64.

Parameters:

param type description
number Number The value to convert

Returns:

type description
Int64 The Number represented as an Int64

Int64.toNumber

Added in 0.2.0 No other changes yet.
1
toNumber : (value: Int64) => Number

Converts an Int64 to a Number.

Parameters:

param type description
value Int64 The value to convert

Returns:

type description
Number The Int64 represented as a Number

Int64.fromUint64

Added in 0.6.0 No other changes yet.
1
fromUint64 : (number: Uint64) => Int64

Converts a Uint64 to an Int64.

Parameters:

param type description
number Uint64 The value to convert

Returns:

type description
Int64 The Uint64 represented as an Int64

Examples:

1
Int64.fromUint64(1uL) == 1L

Int64.incr

Added in 0.2.0 No other changes yet.
1
incr : (value: Int64) => Int64

Increments the value by one.

Parameters:

param type description
value Int64 The value to increment

Returns:

type description
Int64 The incremented value

Examples:

1
Int64.incr(1L) == 2L
1
Int64.incr(-2L) == -1L

Int64.decr

Added in 0.2.0 No other changes yet.
1
decr : (value: Int64) => Int64

Decrements the value by one.

Parameters:

param type description
value Int64 The value to decrement

Returns:

type description
Int64 The decremented value

Examples:

1
Int64.decr(2L) == 1L
1
Int64.decr(0L) == -1L

Int64.(+)

Added in 0.6.0
versionchanges
0.2.0Originally named `add`
1
(+) : (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

Returns:

type description
Int64 The sum of the two operands

Examples:

1
2
use Int64.{ (+) }
assert 1L + 1L == 2L

Int64.(-)

Added in 0.6.0
versionchanges
0.2.0Originally named `sub`
1
(-) : (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

Returns:

type description
Int64 The difference of the two operands

Examples:

1
2
use Int64.{ (-) }
assert 2L - 1L == 1L

Int64.(*)

Added in 0.6.0
versionchanges
0.2.0Originally named `*`
1
(*) : (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

Returns:

type description
Int64 The product of the two operands

Examples:

1
2
use Int64.{ (*) }
assert 2L * 2L == 4L

Int64.(/)

Added in 0.6.0
versionchanges
0.2.0Originally named `div`
1
(/) : (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

Returns:

type description
Int64 The quotient of its operands

Examples:

1
2
use Int64.{ (/) }
assert 8L / 2L == 4L

Int64.rem

Added in 0.2.0 No other changes yet.
1
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

Returns:

type description
Int64 The remainder of its operands

Examples:

1
Int64.rem(8L, 3L) == 2L

Int64.(%)

Added in 0.6.0
versionchanges
0.2.0Originally named `mod`
1
(%) : (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

Returns:

type description
Int64 The modulus of its operands

Throws:

ModuloByZero

  • When y is zero

Examples:

1
2
use Int64.{ (%) }
assert -5L % 3L == 1L

Int64.rotl

Added in 0.4.0 No other changes yet.
1
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

Returns:

type description
Int64 The rotated value

Examples:

1
Int64.rotl(1L, 1L) == 2L
1
Int64.rotl(1L, 2L) == 4L

Int64.rotr

Added in 0.4.0 No other changes yet.
1
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

Returns:

type description
Int64 The rotated value

Examples:

1
Int64.rotr(2L, 1L) == 1L
1
Int64.rotr(4L, 2L) == 1L

Int64.(<<)

Added in 0.6.0
versionchanges
0.2.0Originally named `shl`
1
(<<) : (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

Returns:

type description
Int64 The shifted value

Examples:

1
2
use Int64.{ (<<) }
assert (5L << 1L) == 10L

Int64.(>>)

Added in 0.6.0
versionchanges
0.2.0Originally named `shr`
1
(>>) : (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

Returns:

type description
Int64 The shifted value

Examples:

1
2
use Int64.{ (>>) }
assert (5L >> 1L) == 2L

Int64.(==)

Added in 0.6.0
versionchanges
0.4.0Originally named `eq`
1
(==) : (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

Returns:

type description
Bool true if the first value is equal to the second value or false otherwise

Examples:

1
2
use Int64.{ (==) }
assert 1L == 1L

Int64.(!=)

Added in 0.6.0
versionchanges
0.4.0Originally named `ne`
1
(!=) : (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

Returns:

type description
Bool true if the first value is not equal to the second value or false otherwise

Examples:

1
2
use Int64.{ (!=) }
assert 1L != 2L

Int64.eqz

Added in 0.4.0 No other changes yet.
1
eqz : (value: Int64) => Bool

Checks if the given value is equal to zero.

Parameters:

param type description
value Int64 The value to inspect

Returns:

type description
Bool true if the first value is equal to zero or false otherwise

Examples:

1
Int64.eqz(0L) == true
1
Int64.eqz(1L) == false

Int64.(<)

Added in 0.6.0
versionchanges
0.2.0Originally named `lt`
1
(<) : (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

Returns:

type description
Bool true if the first value is less than the second value or false otherwise

Examples:

1
2
use Int64.{ (<) }
assert 1L < 2L

Int64.(>)

Added in 0.6.0
versionchanges
0.2.0Originally named `gt`
1
(>) : (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

Returns:

type description
Bool true if the first value is greater than the second value or false otherwise

Examples:

1
2
use Int64.{ (>) }
assert 2L > 1L

Int64.(<=)

Added in 0.6.0
versionchanges
0.2.0Originally named `lte`
1
(<=) : (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

Returns:

type description
Bool true if the first value is less than or equal to the second value or false otherwise

Examples:

1
2
use Int64.{ (<=) }
assert 1L <= 2L
1
2
use Int64.{ (<=) }
assert 1L <= 1L

Int64.(>=)

Added in 0.6.0
versionchanges
0.2.0Originally named `gte`
1
(>=) : (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

Returns:

type description
Bool true if the first value is greater than or equal to the second value or false otherwise

Examples:

1
2
use Int64.{ (>=) }
assert 2L >= 1L
1
2
use Int64.{ (>=) }
assert 1L >= 1L

Int64.lnot

Added in 0.2.0 No other changes yet.
1
lnot : (value: Int64) => Int64

Computes the bitwise NOT of the given value.

Parameters:

param type description
value Int64 The given value

Returns:

type description
Int64 Containing the inverted bits of the given value

Examples:

1
Int64.lnot(-5L) == 4L

Int64.(&)

Added in 0.6.0
versionchanges
0.2.0Originally named `land`
1
(&) : (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

Returns:

type description
Int64 Containing a 1 in each bit position for which the corresponding bits of both operands are 1

Examples:

1
2
use Int64.{ (&) }
assert (3L & 4L) == 0L

Int64.(|)

Added in 0.6.0
versionchanges
0.2.0Originally named `lor`
1
(|) : (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

Returns:

type description
Int64 Containing a 1 in each bit position for which the corresponding bits of either or both operands are 1

Examples:

1
2
use Int64.{ (|) }
assert (3L | 4L) == 7L

Int64.(^)

Added in 0.6.0
versionchanges
0.2.0Originally named `lxor`
1
(^) : (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

Returns:

type description
Int64 Containing a 1 in each bit position for which the corresponding bits of either but not both operands are 1

Examples:

1
2
use Int64.{ (^) }
assert (3L ^ 5L) == 6L

Int64.clz

Added in 0.4.0 No other changes yet.
1
clz : (value: Int64) => Int64

Counts the number of leading zero bits in the value.

Parameters:

param type description
value Int64 The value to inspect

Returns:

type description
Int64 The amount of leading zeros

Examples:

1
Int64.clz(1L) == 63L
1
Int64.clz(4L) == 61L

Int64.ctz

Added in 0.4.0 No other changes yet.
1
ctz : (value: Int64) => Int64

Counts the number of trailing zero bits in the value.

Parameters:

param type description
value Int64 The value to inspect

Returns:

type description
Int64 The amount of trailing zeros

Examples:

1
Int64.ctz(1L) == 0L
1
Int64.ctz(4L) == 2L

Int64.popcnt

Added in 0.4.0 No other changes yet.
1
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

Returns:

type description
Int64 The amount of 1-bits in its operand

Examples:

1
Int64.popcnt(1L) == 1L
1
Int64.popcnt(3L) == 2L

Int64.(**)

Added in 0.6.0 No other changes yet.
1
(**) : (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

Returns:

type description
Int64 The base raised to the given power

Examples:

1
2
from Int64 use { (**) }
assert 2L ** 3L == 8L
This is a notification!