diff options
author | Louis Pilfold <louis@lpil.uk> | 2020-03-05 11:46:08 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2020-03-05 11:46:08 +0000 |
commit | e60487580a30a51e896c32210198758d2e15a4d9 (patch) | |
tree | 5c77247bf53a3cb8702449b8db55e9b8108a684b | |
parent | 18e1eb04011299fcd81623b22e13711ec736e7c8 (diff) | |
download | gleam_stdlib-e60487580a30a51e896c32210198758d2e15a4d9.tar.gz gleam_stdlib-e60487580a30a51e896c32210198758d2e15a4d9.zip |
int.is_even
-rw-r--r-- | gen/src/gleam@int.erl | 5 | ||||
-rw-r--r-- | gen/test/gleam@int_test.erl | 11 | ||||
-rw-r--r-- | src/gleam/int.gleam | 3 | ||||
-rw-r--r-- | test/gleam/int_test.gleam | 23 |
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 +} |