# Types

## Int

</>
``````pub type Int =
Int``````

# Functions

## absolute_value

</>
``pub fn absolute_value(num: Int) -> Int``

Returns the absolute value of the input.

## Examples

``````> absolute_value(-12)
12

> absolute_value(10)
10
``````

## clamp

</>
``````pub fn clamp(
n: Int,
min min_bound: Int,
max max_bound: Int,
) -> Int``````

Restricts an Int between a lower and upper bound

## Examples

``````> clamp(40, min: 50, max: 60)
50
``````

## compare

</>
``pub fn compare(a: Int, with b: Int) -> Order``

Compares two ints, returning an order.

## Examples

``````> compare(2, 3)
Lt

> compare(4, 3)
Gt

> compare(3, 3)
Eq
``````

## is_even

</>
``pub fn is_even(x: Int) -> Bool``

Returns whether the value provided is even.

## Examples

``````> is_even(2)
True

> is_even(3)
False
``````

## is_odd

</>
``pub fn is_odd(x: Int) -> Bool``

Returns whether the value provided is odd.

## Examples

``````> is_odd(3)
True

> is_odd(2)
False
``````

## max

</>
``pub fn max(a: Int, b: Int) -> Int``

Compares two int, returning the larger of the two.

## Examples

``````> max(2, 3)
3
``````

## min

</>
``pub fn min(a: Int, b: Int) -> Int``

Compares two int, returning the smaller of the two.

## Examples

``````> min(2, 3)
2
``````

## negate

</>
``pub fn negate(x: Int) -> Int``

Returns the negative of the value provided

## Examples

``````> negate(1)
-1
``````

## parse

</>
``pub external fn parse(String) -> Result(Int, Nil)``

Parses a given string as an int if possible.

## Examples

``````> parse("2")
Ok(2)

> parse("ABC")
Error(Nil)
``````

## product

</>
``pub fn product(numbers: List(Int)) -> Int``

Multiplies a list of Ints and returns the product.

## Example

``````> product([2, 3, 4])
24
``````

## sum

</>
``pub fn sum(numbers: List(Int)) -> Int``

Sums a list of Ints.

## Example

``````> sum([1, 2, 3])
6
``````

## to_base_string

</>
``pub external fn to_base_string(Int, Int) -> String``

Prints a given int to a string using the base number provided.

## Examples

``````> to_base_string(2, 2)
"10"

> to_base_string(48, 16)
"30"

> to_base_string(48, 36)
"1C"
``````

## to_float

</>
``pub external fn to_float(a: Int) -> Float``

Takes an int and returns its value as a float

to_float(5) 5.

to_float(0) 0.

to_float(-3) -3.

## to_string

</>
``pub external fn to_string(Int) -> String``

Prints a given int to a string.

## Examples

``````> to_string(2)
"2"
``````