Int32

GitHub   Edit on GitHub

Utilities for working with the Int32 type.

Added in 0.2.0 No other changes yet.
1
from "int32" include Int32
1
1l
1
-1l

Values

Functions and constants included in the Int32 module.

Int32.fromNumber

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

Converts a Number to an Int32.

Parameters:

param type description
number Number The value to convert

Returns:

type description
Int32 The Number represented as an Int32

Int32.toNumber

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

Converts an Int32 to a Number.

Parameters:

param type description
value Int32 The value to convert

Returns:

type description
Number The Int32 represented as a Number

Int32.fromUint32

Added in 0.6.0 No other changes yet.
1
fromUint32 : (number: Uint32) => Int32

Converts a Uint32 to an Int32.

Parameters:

param type description
number Uint32 The value to convert

Returns:

type description
Int32 The Uint32 represented as an Int32

Examples:

1
Int32.fromUint32(1ul) == 1l

Int32.incr

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

Increments the value by one.

Parameters:

param type description
value Int32 The value to increment

Returns:

type description
Int32 The incremented value

Examples:

1
Int32.incr(1l) == 2l
1
Int32.incr(-2l) == -1l

Int32.decr

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

Decrements the value by one.

Parameters:

param type description
value Int32 The value to decrement

Returns:

type description
Int32 The decremented value

Examples:

1
Int32.decr(2l) == 1l
1
Int32.decr(0l) == -1l

Int32.(+)

Added in 0.6.0
versionchanges
0.2.0Originally named `add`
1
(+) : (x: Int32, y: Int32) => Int32

Computes the sum of its operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The sum of the two operands

Examples:

1
2
use Int32.{ (+) }
assert 1l + 1l == 2l

Int32.(-)

Added in 0.6.0
versionchanges
0.2.0Originally named `sub`
1
(-) : (x: Int32, y: Int32) => Int32

Computes the difference of its operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The difference of the two operands

Examples:

1
2
use Int32.{ (-) }
assert 2l - 1l == 1l

Int32.(*)

Added in 0.6.0
versionchanges
0.2.0Originally named `mul`
1
(*) : (x: Int32, y: Int32) => Int32

Computes the product of its operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The product of the two operands

Examples:

1
2
use Int32.{ (*) }
assert 2l * 2l == 4l

Int32.(/)

Added in 0.6.0
versionchanges
0.2.0Originally named `div`
1
(/) : (x: Int32, y: Int32) => Int32

Computes the quotient of its operands using signed division.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The quotient of its operands

Examples:

1
2
use Int32.{ (/) }
assert 8l / 2l == 4l

Int32.rem

Added in 0.2.0 No other changes yet.
1
rem : (x: Int32, y: Int32) => Int32

Computes the remainder of the division of its operands using signed division.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The remainder of its operands

Examples:

1
Int32.rem(8l, 3l) == 2l

Int32.(%)

Added in 0.6.0
versionchanges
0.2.0Originally named `mod`
1
(%) : (x: Int32, y: Int32) => Int32

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 Int32 The first operand
y Int32 The second operand

Returns:

type description
Int32 The modulus of its operands

Throws:

ModuloByZero

  • When y is zero

Examples:

1
2
use Int32.{ (%) }
assert -5l % 3l == 1l

Int32.rotl

Added in 0.4.0 No other changes yet.
1
rotl : (value: Int32, amount: Int32) => Int32

Rotates the bits of the value left by the given number of bits.

Parameters:

param type description
value Int32 The value to rotate
amount Int32 The number of bits to rotate by

Returns:

type description
Int32 The rotated value

Examples:

1
Int32.rotl(1l, 1l) == 2l
1
Int32.rotl(1l, 2l) == 4l

Int32.rotr

Added in 0.4.0 No other changes yet.
1
rotr : (value: Int32, amount: Int32) => Int32

Rotates the bits of the value right by the given number of bits.

Parameters:

param type description
value Int32 The value to rotate
amount Int32 The number of bits to rotate by

Returns:

type description
Int32 The rotated value

Examples:

1
Int32.rotr(2l, 1l) == 1l
1
Int32.rotr(4l, 2l) == 1l

Int32.(<<)

Added in 0.6.0
versionchanges
0.2.0Originally named `shl`
1
(<<) : (value: Int32, amount: Int32) => Int32

Shifts the bits of the value left by the given number of bits.

Parameters:

param type description
value Int32 The value to shift
amount Int32 The number of bits to shift by

Returns:

type description
Int32 The shifted value

Examples:

1
2
use Int32.{ (<<) }
assert (5l << 1l) == 10l

Int32.(>>)

Added in 0.6.0
versionchanges
0.2.0Originally named `shr`
1
(>>) : (value: Int32, amount: Int32) => Int32

Shifts the bits of the value right by the given number of bits, preserving the sign bit.

Parameters:

param type description
value Int32 The value to shift
amount Int32 The amount to shift by

Returns:

type description
Int32 The shifted value

Examples:

1
2
use Int32.{ (>>) }
assert (5l >> 1l) == 2l

Int32.(==)

Added in 0.6.0
versionchanges
0.4.0Originally named `eq`
1
(==) : (x: Int32, y: Int32) => Bool

Checks if the first value is equal to the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (==) }
assert 1l == 1l

Int32.(!=)

Added in 0.6.0
versionchanges
0.4.0Originally named `ne`
1
(!=) : (x: Int32, y: Int32) => Bool

Checks if the first value is not equal to the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (!=) }
assert 1l != 2l

Int32.eqz

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

Checks if the given value is equal to zero.

Parameters:

param type description
value Int32 The value to inspect

Returns:

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

Examples:

1
Int32.eqz(0l) == true
1
Int32.eqz(1l) == false

Int32.(<)

Added in 0.6.0
versionchanges
0.2.0Originally named `lt`
1
(<) : (x: Int32, y: Int32) => Bool

Checks if the first value is less than the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (<) }
assert 1l < 2l

Int32.(>)

Added in 0.6.0
versionchanges
0.2.0Originally named `gt`
1
(>) : (x: Int32, y: Int32) => Bool

Checks if the first value is greater than the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (>) }
assert 2l > 1l

Int32.(<=)

Added in 0.6.0
versionchanges
0.2.0Originally named `lte`
1
(<=) : (x: Int32, y: Int32) => Bool

Checks if the first value is less than or equal to the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (<=) }
assert 1l <= 2l
1
2
use Int32.{ (<=) }
assert 1l <= 1l

Int32.(>=)

Added in 0.6.0
versionchanges
0.2.0Originally named `gte`
1
(>=) : (x: Int32, y: Int32) => Bool

Checks if the first value is greater than or equal to the second value.

Parameters:

param type description
x Int32 The first value
y Int32 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 Int32.{ (>=) }
assert 2l >= 1l
1
2
use Int32.{ (>=) }
assert 1l >= 1l

Int32.lnot

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

Computes the bitwise NOT of the given value.

Parameters:

param type description
value Int32 The given value

Returns:

type description
Int32 Containing the inverted bits of the given value

Examples:

1
Int32.lnot(-5l) == 4l

Int32.(&)

Added in 0.6.0
versionchanges
0.2.0Originally named `land`
1
(&) : (x: Int32, y: Int32) => Int32

Computes the bitwise AND (&) on the given operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

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

Examples:

1
2
use Int32.{ (&) }
assert (3l & 4l) == 0l

Int32.(|)

Added in 0.6.0
versionchanges
0.2.0Originally named `lor`
1
(|) : (x: Int32, y: Int32) => Int32

Computes the bitwise OR (|) on the given operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

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

Examples:

1
2
use Int32.{ (|) }
assert (3l | 4l) == 7l

Int32.(^)

Added in 0.6.0
versionchanges
0.2.0Originally named `lxor`
1
(^) : (x: Int32, y: Int32) => Int32

Computes the bitwise XOR (^) on the given operands.

Parameters:

param type description
x Int32 The first operand
y Int32 The second operand

Returns:

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

Examples:

1
2
use Int32.{ (^) }
assert (3l ^ 5l) == 6l

Int32.clz

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

Counts the number of leading zero bits in the value.

Parameters:

param type description
value Int32 The value to inspect

Returns:

type description
Int32 The amount of leading zeros

Examples:

1
Int32.clz(1l) == 31l
1
Int32.clz(4l) == 29l

Int32.ctz

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

Counts the number of trailing zero bits in the value.

Parameters:

param type description
value Int32 The value to inspect

Returns:

type description
Int32 The amount of trailing zeros

Examples:

1
Int32.ctz(1l) == 0l
1
Int32.ctz(4l) == 2l

Int32.popcnt

Added in 0.4.0 No other changes yet.
1
popcnt : (value: Int32) => Int32

Counts the number of bits set to 1 in the value, also known as a population count.

Parameters:

param type description
value Int32 The value to inspect

Returns:

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

Examples:

1
Int32.popcnt(1l) == 1l
1
Int32.popcnt(3l) == 2l

Int32.(**)

Added in 0.6.0 No other changes yet.
1
(**) : (base: Int32, power: Int32) => Int32

Computes the exponentiation of the given base and power.

Parameters:

param type description
base Int32 The base number
power Int32 The exponent number

Returns:

type description
Int32 The base raised to the given power

Examples:

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