aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-04-22 22:33:15 +0000
committerLouis Pilfold <louis@lpil.uk>2019-04-22 22:33:15 +0000
commit077aaf3468c640b84ff53fc92171292ddae55bf4 (patch)
treea152edcc2240f053681ca6ba315dfeb9ed8fa793 /gen
parentafdabad5cd2df77eb3f309aab9da3d34e36a0b49 (diff)
downloadgleam_stdlib-077aaf3468c640b84ff53fc92171292ddae55bf4.tar.gz
gleam_stdlib-077aaf3468c640b84ff53fc92171292ddae55bf4.zip
Int and float modules
Diffstat (limited to 'gen')
-rw-r--r--gen/src/float.erl10
-rw-r--r--gen/src/int.erl13
-rw-r--r--gen/src/str.erl17
-rw-r--r--gen/test/float_test.erl16
-rw-r--r--gen/test/int_test.erl21
-rw-r--r--gen/test/list_test.erl2
-rw-r--r--gen/test/str_test.erl31
7 files changed, 63 insertions, 47 deletions
diff --git a/gen/src/float.erl b/gen/src/float.erl
new file mode 100644
index 0000000..e5f843b
--- /dev/null
+++ b/gen/src/float.erl
@@ -0,0 +1,10 @@
+-module(float).
+-compile(no_auto_import).
+
+-export([parse/1, to_string/1]).
+
+parse(A) ->
+ gleam__stdlib:parse_float(A).
+
+to_string(F) ->
+ iodata:to_string(iodata:from_float(F)).
diff --git a/gen/src/int.erl b/gen/src/int.erl
new file mode 100644
index 0000000..d3b5939
--- /dev/null
+++ b/gen/src/int.erl
@@ -0,0 +1,13 @@
+-module(int).
+-compile(no_auto_import).
+
+-export([parse/1, to_string/1, to_base_string/2]).
+
+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).
diff --git a/gen/src/str.erl b/gen/src/str.erl
index 4a35a35..153fd49 100644
--- a/gen/src/str.erl
+++ b/gen/src/str.erl
@@ -1,7 +1,7 @@
-module(str).
-compile(no_auto_import).
--export([length/1, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, append/2, from_int/1, parse_int/1, parse_float/1, base_from_int/2, from_float/1]).
+-export([length/1, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, append/2]).
length(A) ->
string:length(A).
@@ -23,18 +23,3 @@ replace(String, Pattern, With) ->
append(S1, S2) ->
iodata:to_string(iodata:append(iodata:new(S1), S2)).
-
-from_int(A) ->
- erlang:integer_to_binary(A).
-
-parse_int(A) ->
- gleam__stdlib:parse_int(A).
-
-parse_float(A) ->
- gleam__stdlib:parse_float(A).
-
-base_from_int(A, B) ->
- erlang:integer_to_binary(A, B).
-
-from_float(F) ->
- iodata:to_string(iodata:from_float(F)).
diff --git a/gen/test/float_test.erl b/gen/test/float_test.erl
new file mode 100644
index 0000000..642e5ed
--- /dev/null
+++ b/gen/test/float_test.erl
@@ -0,0 +1,16 @@
+-module(float_test).
+-compile(no_auto_import).
+
+-export([parse_test/0, to_string_test/0]).
+
+parse_test() ->
+ expect:equal(float:parse(<<"1.23">>), {ok, 1.23}),
+ expect:equal(float:parse(<<"5.0">>), {ok, 5.0}),
+ expect:equal(float:parse(<<"0.123456789">>), {ok, 0.123456789}),
+ expect:is_error(float:parse(<<"">>)),
+ expect:is_error(float:parse(<<"what">>)),
+ expect:is_error(float:parse(<<"1">>)).
+
+to_string_test() ->
+ expect:equal(float:to_string(123.0), <<"123.0">>),
+ expect:equal(float:to_string(-8.1), <<"-8.1">>).
diff --git a/gen/test/int_test.erl b/gen/test/int_test.erl
new file mode 100644
index 0000000..a50b5e6
--- /dev/null
+++ b/gen/test/int_test.erl
@@ -0,0 +1,21 @@
+-module(int_test).
+-compile(no_auto_import).
+
+-export([to_string/0, parse/0, to_base_string/0]).
+
+to_string() ->
+ expect:equal(int:to_string(123), <<"123">>),
+ expect:equal(int:to_string(-123), <<"-123">>),
+ expect:equal(int:to_string(123), <<"123">>).
+
+parse() ->
+ expect:equal(int:parse(<<"123">>), {ok, 123}),
+ expect:equal(int:parse(<<"-123">>), {ok, -123}),
+ expect:equal(int:parse(<<"0123">>), {ok, 123}),
+ expect:is_error(int:parse(<<"">>)),
+ expect:is_error(int:parse(<<"what">>)),
+ expect:is_error(int:parse(<<"1.23">>)).
+
+to_base_string() ->
+ expect:equal(int:to_base_string(100, 16), <<"64">>),
+ expect:equal(int:to_base_string(-100, 16), <<"-64">>).
diff --git a/gen/test/list_test.erl b/gen/test/list_test.erl
index 1944d25..3011c7e 100644
--- a/gen/test/list_test.erl
+++ b/gen/test/list_test.erl
@@ -136,6 +136,6 @@ sort_test() ->
index_map_test() ->
expect:equal(list:index_map([3, 4, 5], fun(I, X) -> {I, X} end),
[{0, 3}, {1, 4}, {2, 5}]),
- F = fun(I, X) -> str:append(X, str:from_int(I)) end,
+ F = fun(I, X) -> str:append(X, int:to_string(I)) end,
expect:equal(list:index_map([<<"a">>, <<"b">>, <<"c">>], F),
[<<"a0">>, <<"b1">>, <<"c2">>]).
diff --git a/gen/test/str_test.erl b/gen/test/str_test.erl
index b3a89b2..f6a16a3 100644
--- a/gen/test/str_test.erl
+++ b/gen/test/str_test.erl
@@ -1,7 +1,7 @@
-module(str_test).
-compile(no_auto_import).
--export([length_test/0, lowercase_test/0, uppercase_test/0, reverse_test/0, split_test/0, replace_test/0, append_test/0, from_int_test/0, parse_int_test/0, parse_float_test/0, base_from_int_test/0, from_float_test/0]).
+-export([length_test/0, lowercase_test/0, uppercase_test/0, reverse_test/0, split_test/0, replace_test/0, append_test/0]).
length_test() ->
expect:equal(str:length(<<"ß↑e̊">>), 3),
@@ -29,32 +29,3 @@ replace_test() ->
append_test() ->
expect:equal(str:append(<<"Test">>, <<" Me">>), <<"Test Me">>).
-
-from_int_test() ->
- expect:equal(str:from_int(123), <<"123">>),
- expect:equal(str:from_int(-123), <<"-123">>),
- expect:equal(str:from_int(123), <<"123">>).
-
-parse_int_test() ->
- expect:equal(str:parse_int(<<"123">>), {ok, 123}),
- expect:equal(str:parse_int(<<"-123">>), {ok, -123}),
- expect:equal(str:parse_int(<<"0123">>), {ok, 123}),
- expect:is_error(str:parse_int(<<"">>)),
- expect:is_error(str:parse_int(<<"what">>)),
- expect:is_error(str:parse_int(<<"1.23">>)).
-
-parse_float_test() ->
- expect:equal(str:parse_float(<<"1.23">>), {ok, 1.23}),
- expect:equal(str:parse_float(<<"5.0">>), {ok, 5.0}),
- expect:equal(str:parse_float(<<"0.123456789">>), {ok, 0.123456789}),
- expect:is_error(str:parse_float(<<"">>)),
- expect:is_error(str:parse_float(<<"what">>)),
- expect:is_error(str:parse_float(<<"1">>)).
-
-base_from_int_test() ->
- expect:equal(str:base_from_int(100, 16), <<"64">>),
- expect:equal(str:base_from_int(-100, 16), <<"-64">>).
-
-from_float_test() ->
- expect:equal(str:from_float(123.0), <<"123.0">>),
- expect:equal(str:from_float(-8.1), <<"-8.1">>).