sanctuary-int

3.0.0 • Public • Published

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)
3

sub :: Int -⁠> Int -⁠> Int

Returns the result of subtracting its first argument from its second argument.

> sub (1) (100)
99

mul :: Int -⁠> Int -⁠> Int

Returns the product of its two arguments.

> mul (6) (7)
42

quot :: 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)
8

rem :: NonZeroInt -⁠> Int -⁠> Int

Integer remainder, satisfying:

quot (y) (x) * y + rem (y) (x) === x

Throws if the divisor is zero.

See also mod.

> rem (5) (42)
2
 
> rem (-5) (42)
2
 
> rem (5) (-42)
-2
 
> rem (-5) (-42)
-2

div :: 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)
8

mod :: NonZeroInt -⁠> Int -⁠> Int

Integer modulus, satisfying:

div (y) (x) * y + mod (y) (x) === x

Throws if the divisor is zero.

See also rem.

> mod (5) (42)
2
 
> mod (-5) (42)
-3
 
> mod (5) (-42)
3
 
> mod (-5) (-42)
-2

and :: 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)
0b1000

or :: 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)
0b1110

xor :: 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)
0b0110

not :: Int -⁠> Int

Bitwise NOT, satisfying:

not (x) === -(x + 1)
> not (42)
-43

even :: Int -⁠> Boolean

Returns true if its argument is even; false if it is odd.

> even (42)
true

odd :: Int -⁠> Boolean

Returns true if its argument is odd; false if it is even.

> odd (42)
false

Readme

Keywords

none

Package Sidebar

Install

npm i sanctuary-int

Weekly Downloads

0

Version

3.0.0

License

MIT

Unpacked Size

13.4 kB

Total Files

4

Last publish

Collaborators

  • davidchambers
  • avaq