gleam/int
Types
Error value when trying to operate with a base out of the allowed range.
pub type InvalidBase {
InvalidBase
}
Constructors
-
InvalidBase
Functions
pub fn absolute_value(x: Int) -> Int
Returns the absolute value of the input.
Examples
> absolute_value(-12)
12
> absolute_value(10)
10
pub fn clamp(x: 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
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
pub fn digits(x: Int, base: Int) -> Result(List(Int), InvalidBase)
Splits an integer into its digit representation in the specified base
Examples
> digits(234, 10)
Ok([2,3,4])
> digits(234, 1)
Error(InvalidBase)
pub fn divide(a: Int, by b: Int) -> Result(Int, Nil)
Returns division of the inputs as a Result
.
Examples
> divide(0, 1)
Ok(1)
> divide(1, 0)
Error(Nil)
pub fn is_even(x: Int) -> Bool
Returns whether the value provided is even.
Examples
> is_even(2)
True
> is_even(3)
False
pub fn is_odd(x: Int) -> Bool
Returns whether the value provided is odd.
Examples
> is_odd(3)
True
> is_odd(2)
False
pub fn max(a: Int, b: Int) -> Int
Compares two ints, returning the larger of the two.
Examples
> max(2, 3)
3
pub fn min(a: Int, b: Int) -> Int
Compares two ints, returning the smaller of the two.
Examples
> min(2, 3)
2
pub fn negate(x: Int) -> Int
Returns the negative of the value provided.
Examples
> negate(1)
-1
pub fn parse(string: String) -> Result(Int, Nil)
Parses a given string as an int if possible.
Examples
> parse("2")
Ok(2)
> parse("ABC")
Error(Nil)
pub fn power(base: Int, of exponent: Float) -> Result(Float, Nil)
Returns the results of the base being raised to the power of the
exponent, as a Float
.
Examples
> power(2, -1.0)
Ok(0.5)
> power(2, 2.0)
Ok(4.0)
> power(8, 1.5)
Ok(22.627416997969522)
> 4 |> power(of: 2.0)
Ok(16.0)
> power(-1, 0.5)
Error(Nil)
pub fn product(numbers: List(Int)) -> Int
Multiplies a list of ints and returns the product.
Example
> product([2, 3, 4])
24
pub fn random(boundary_a: Int, boundary_b: Int) -> Int
Returns 0 if boundary_a and boundary_b are equal, otherwise returns an Int x where: lower_boundary =< x < upper_boundary.
Examples
> random(1, 5)
2
pub fn square_root(x: Int) -> Result(Float, Nil)
Returns the square root of the input as a Float
.
Examples
> square_root(4)
Ok(2.0)
> square_root(-16)
Error(Nil)
pub fn to_base16(x: Int) -> String
Prints a given int to a string using base16.
Examples
> to_base16(48)
"30"
pub fn to_base2(x: Int) -> String
Prints a given int to a string using base2.
Examples
> to_base2(2)
"10"
pub fn to_base36(x: Int) -> String
Prints a given int to a string using base16.
Examples
> to_base36(48)
"1C"
pub fn to_base8(x: Int) -> String
Prints a given int to a string using base8.
Examples
> to_base8(15)
"17"
pub fn to_base_string(x: Int, base: Int) -> Result(
String,
InvalidBase,
)
Prints a given int to a string using the base number provided.
Supports only bases 2 to 36, for values outside of which this function returns an Error(InvalidBase)
.
For common bases (2, 8, 16, 36), use the to_baseN
functions.
Examples
> to_base_string(2, 2)
Ok("10")
> to_base_string(48, 16)
Ok("30")
> to_base_string(48, 36)
Ok("1C")
> to_base_string(48, 1)
Error(InvalidBase)
> to_base_string(48, 37)
Error(InvalidBase)
pub fn to_float(x: Int) -> Float
Takes an int and returns its value as a float.
Examples
> to_float(5)
5.
> to_float(0)
0.
> to_float(-3)
-3.
pub fn to_string(x: Int) -> String
Prints a given int to a string.
Examples
> to_string(2)
"2"
pub fn undigits(numbers: List(Int), base: Int) -> Result(
Int,
InvalidBase,
)
Joins a list of digits into a single value. Returns an error if the base is less than 2 or if the list contains a digit greater than or equal to the specified base.
Examples
> undigits([2,3,4], 10)
Ok(234)
> undigits([2,3,4], 1)
Error(InvalidBase)
> undigits([2,3,4], 2)
Error(InvalidBase)