aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2020-03-05 11:48:13 +0000
committerLouis Pilfold <louis@lpil.uk>2020-03-05 11:48:13 +0000
commitbec6ab98b6c139f3074028e71707208d51eb3f9b (patch)
treebef66ede3737089b3db8969845347f9ef4c75946
parentf11cb990283fbd47b418a94c6840efe03954d28e (diff)
downloadgleam_stdlib-bec6ab98b6c139f3074028e71707208d51eb3f9b.tar.gz
gleam_stdlib-bec6ab98b6c139f3074028e71707208d51eb3f9b.zip
int.is_odd
-rw-r--r--gen/src/gleam@int.erl5
-rw-r--r--gen/test/gleam@int_test.erl11
-rw-r--r--src/gleam/int.gleam4
-rw-r--r--test/gleam/int_test.gleam23
4 files changed, 41 insertions, 2 deletions
diff --git a/gen/src/gleam@int.erl b/gen/src/gleam@int.erl
index 4e2d785..f256d0f 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, is_even/1]).
+-export([parse/1, to_string/1, to_base_string/2, compare/2, min/2, max/2, is_even/1, is_odd/1]).
parse(A) ->
gleam_stdlib:parse_int(A).
@@ -47,3 +47,6 @@ max(A, B) ->
is_even(X) ->
X rem 2 =:= 0.
+
+is_odd(X) ->
+ X rem 2 /= 0.
diff --git a/gen/test/gleam@int_test.erl b/gen/test/gleam@int_test.erl
index 691074a..83f946b 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, is_even_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, is_odd_test/0]).
to_string() ->
gleam@expect:equal(gleam@int:to_string(123), <<"123">>),
@@ -52,3 +52,12 @@ is_even_test() ->
gleam@expect:false(gleam@int:is_even(1)),
gleam@expect:false(gleam@int:is_even(-3)),
gleam@expect:false(gleam@int:is_even(10005)).
+
+is_odd_test() ->
+ gleam@expect:false(gleam@int:is_odd(0)),
+ gleam@expect:false(gleam@int:is_odd(2)),
+ gleam@expect:false(gleam@int:is_odd(-2)),
+ gleam@expect:false(gleam@int:is_odd(10006)),
+ gleam@expect:true(gleam@int:is_odd(1)),
+ gleam@expect:true(gleam@int:is_odd(-3)),
+ gleam@expect:true(gleam@int:is_odd(10005)).
diff --git a/src/gleam/int.gleam b/src/gleam/int.gleam
index 6a93e2f..9ff5328 100644
--- a/src/gleam/int.gleam
+++ b/src/gleam/int.gleam
@@ -35,3 +35,7 @@ pub fn max(a: Int, b: Int) -> Int {
pub fn is_even(x: Int) -> Bool {
x % 2 == 0
}
+
+pub fn is_odd(x: Int) -> Bool {
+ x % 2 != 0
+}
diff --git a/test/gleam/int_test.gleam b/test/gleam/int_test.gleam
index be02072..98428d1 100644
--- a/test/gleam/int_test.gleam
+++ b/test/gleam/int_test.gleam
@@ -134,3 +134,26 @@ pub fn is_even_test() {
int.is_even(10005)
|> expect.false
}
+
+pub fn is_odd_test() {
+ int.is_odd(0)
+ |> expect.false
+
+ int.is_odd(2)
+ |> expect.false
+
+ int.is_odd(-2)
+ |> expect.false
+
+ int.is_odd(10006)
+ |> expect.false
+
+ int.is_odd(1)
+ |> expect.true
+
+ int.is_odd(-3)
+ |> expect.true
+
+ int.is_odd(10005)
+ |> expect.true
+}