aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2020-03-05 11:46:08 +0000
committerLouis Pilfold <louis@lpil.uk>2020-03-05 11:46:08 +0000
commite60487580a30a51e896c32210198758d2e15a4d9 (patch)
tree5c77247bf53a3cb8702449b8db55e9b8108a684b
parent18e1eb04011299fcd81623b22e13711ec736e7c8 (diff)
downloadgleam_stdlib-e60487580a30a51e896c32210198758d2e15a4d9.tar.gz
gleam_stdlib-e60487580a30a51e896c32210198758d2e15a4d9.zip
int.is_even
-rw-r--r--gen/src/gleam@int.erl5
-rw-r--r--gen/test/gleam@int_test.erl11
-rw-r--r--src/gleam/int.gleam3
-rw-r--r--test/gleam/int_test.gleam23
4 files changed, 40 insertions, 2 deletions
diff --git a/gen/src/gleam@int.erl b/gen/src/gleam@int.erl
index 1449d09..4e2d785 100644
--- a/gen/src/gleam@int.erl
+++ b/gen/src/gleam@int.erl
@@ -1,7 +1,7 @@
-module(gleam@int).
-compile(no_auto_import).
--export([parse/1, to_string/1, to_base_string/2, compare/2, min/2, max/2]).
+-export([parse/1, to_string/1, to_base_string/2, compare/2, min/2, max/2, is_even/1]).
parse(A) ->
gleam_stdlib:parse_int(A).
@@ -44,3 +44,6 @@ max(A, B) ->
false ->
B
end.
+
+is_even(X) ->
+ X rem 2 =:= 0.
diff --git a/gen/test/gleam@int_test.erl b/gen/test/gleam@int_test.erl
index 48eeba1..691074a 100644
--- a/gen/test/gleam@int_test.erl
+++ b/gen/test/gleam@int_test.erl
@@ -1,7 +1,7 @@
-module(gleam@int_test).
-compile(no_auto_import).
--export([to_string/0, parse/0, to_base_string/0, compare_test/0, min_test/0, max_test/0]).
+-export([to_string/0, parse/0, to_base_string/0, compare_test/0, min_test/0, max_test/0, is_even_test/0]).
to_string() ->
gleam@expect:equal(gleam@int:to_string(123), <<"123">>),
@@ -43,3 +43,12 @@ max_test() ->
gleam@expect:equal(gleam@int:max(-1, 2), 2),
gleam@expect:equal(gleam@int:max(2, -2), 2),
gleam@expect:equal(gleam@int:max(-1, -1), -1).
+
+is_even_test() ->
+ gleam@expect:true(gleam@int:is_even(0)),
+ gleam@expect:true(gleam@int:is_even(2)),
+ gleam@expect:true(gleam@int:is_even(-2)),
+ gleam@expect:true(gleam@int:is_even(10006)),
+ gleam@expect:false(gleam@int:is_even(1)),
+ gleam@expect:false(gleam@int:is_even(-3)),
+ gleam@expect:false(gleam@int:is_even(10005)).
diff --git a/src/gleam/int.gleam b/src/gleam/int.gleam
index a638602..6a93e2f 100644
--- a/src/gleam/int.gleam
+++ b/src/gleam/int.gleam
@@ -32,3 +32,6 @@ pub fn max(a: Int, b: Int) -> Int {
}
}
+pub fn is_even(x: Int) -> Bool {
+ x % 2 == 0
+}
diff --git a/test/gleam/int_test.gleam b/test/gleam/int_test.gleam
index 7a8320f..be02072 100644
--- a/test/gleam/int_test.gleam
+++ b/test/gleam/int_test.gleam
@@ -111,3 +111,26 @@ pub fn max_test() {
int.max(-1, -1)
|> expect.equal(_, -1)
}
+
+pub fn is_even_test() {
+ int.is_even(0)
+ |> expect.true
+
+ int.is_even(2)
+ |> expect.true
+
+ int.is_even(-2)
+ |> expect.true
+
+ int.is_even(10006)
+ |> expect.true
+
+ int.is_even(1)
+ |> expect.false
+
+ int.is_even(-3)
+ |> expect.false
+
+ int.is_even(10005)
+ |> expect.false
+}