Packages
gleam_stdlib
0.13.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/src/gleam@int.erl
-module(gleam@int).
-compile(no_auto_import).
-export([absolute_value/1, parse/1, to_string/1, to_base_string/2, to_float/1, compare/2, min/2, max/2, is_even/1, is_odd/1, negate/1, sum/1, product/1]).
absolute_value(Num) ->
case Num >= 0 of
true ->
Num;
false ->
Num * -1
end.
parse(A) ->
gleam_stdlib:parse_int(A).
to_string(A) ->
erlang:integer_to_binary(A).
to_base_string(A, B) ->
erlang:integer_to_binary(A, B).
to_float(A) ->
erlang:float(A).
compare(A, B) ->
case A =:= B of
true ->
eq;
false ->
case A < B of
true ->
lt;
false ->
gt
end
end.
min(A, B) ->
case A < B of
true ->
A;
false ->
B
end.
max(A, B) ->
case A > B of
true ->
A;
false ->
B
end.
is_even(X) ->
(X rem 2) =:= 0.
is_odd(X) ->
(X rem 2) /= 0.
negate(X) ->
-1 * X.
sum(Numbers) ->
do_sum(Numbers, 0).
do_sum(Numbers, Initial) ->
case Numbers of
[] ->
Initial;
[X | Rest] ->
do_sum(Rest, X + Initial)
end.
product(Numbers) ->
case Numbers of
[] ->
0;
_ ->
do_product(Numbers, 1)
end.
do_product(Numbers, Initial) ->
case Numbers of
[] ->
Initial;
[X | Rest] ->
do_product(Rest, X * Initial)
end.