sanctuary-int v3.0.0
sanctuary-int
A collection of functions which operate on 32-bit signed integers.
API
Int :: Type
The Int type represents integers in the range [-2^31 .. 2^31).
NonZeroInt :: Type
The NonZeroInt type represents non-zero integers in the range [-2^31 .. 2^31).
add :: Int -> Int -> Int
Returns the sum of its two arguments.
> add (1) (2)
3sub :: Int -> Int -> Int
Returns the result of subtracting its first argument from its second argument.
> sub (1) (100)
99mul :: Int -> Int -> Int
Returns the product of its two arguments.
> mul (6) (7)
42quot :: NonZeroInt -> Int -> Int
Returns the result of dividing its second argument by its first argument, truncating towards zero.
Throws if the divisor is zero.
See also div.
> quot (5) (42)
8
> quot (-5) (42)
-8
> quot (5) (-42)
-8
> quot (-5) (-42)
8rem :: NonZeroInt -> Int -> Int
Integer remainder, satisfying:
quot (y) (x) * y + rem (y) (x) === xThrows if the divisor is zero.
See also mod.
> rem (5) (42)
2
> rem (-5) (42)
2
> rem (5) (-42)
-2
> rem (-5) (-42)
-2div :: NonZeroInt -> Int -> Int
Returns the result of dividing its second argument by its first argument, truncating towards negative infinity.
Throws if the divisor is zero.
See also quot.
> div (5) (42)
8
> div (-5) (42)
-9
> div (5) (-42)
-9
> div (-5) (-42)
8mod :: NonZeroInt -> Int -> Int
Integer modulus, satisfying:
div (y) (x) * y + mod (y) (x) === xThrows if the divisor is zero.
See also rem.
> mod (5) (42)
2
> mod (-5) (42)
-3
> mod (5) (-42)
3
> mod (-5) (-42)
-2and :: Int -> Int -> Int
Bitwise AND. Returns an Int with a one at each bit position at which both arguments have a one.
> and (0b1100) (0b1010)
0b1000or :: Int -> Int -> Int
Bitwise OR. Returns an Int with a one at each bit position at which at least one argument has a one.
> or (0b1100) (0b1010)
0b1110xor :: Int -> Int -> Int
Bitwise XOR. Returns an Int with a one at each bit position at which exactly one argument has a one.
> xor (0b1100) (0b1010)
0b0110not :: Int -> Int
Bitwise NOT, satisfying:
not (x) === -(x + 1)> not (42)
-43even :: Int -> Boolean
Returns true if its argument is even; false if it is odd.
> even (42)
trueodd :: Int -> Boolean
Returns true if its argument is odd; false if it is even.
> odd (42)
false