diff options
author | Connor Schembor <connor.schembor@rutgers.edu> | 2020-08-25 18:09:20 -0400 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2020-08-27 13:55:55 +0100 |
commit | e9817a0f6dd9b77c048b0a702e6b897dd95bebf8 (patch) | |
tree | a453b62e9e71eae8bf95afadc6dc17cdfeeb4dde | |
parent | 06a4f0116ae0dfef79c398bbde08d3924e7d4091 (diff) | |
download | gleam_stdlib-e9817a0f6dd9b77c048b0a702e6b897dd95bebf8.tar.gz gleam_stdlib-e9817a0f6dd9b77c048b0a702e6b897dd95bebf8.zip |
Add absolute_value function for floats
-rw-r--r-- | src/gleam/float.gleam | 13 | ||||
-rw-r--r-- | test/gleam/float_test.gleam | 17 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/gleam/float.gleam b/src/gleam/float.gleam index f810161..c85903f 100644 --- a/src/gleam/float.gleam +++ b/src/gleam/float.gleam @@ -115,3 +115,16 @@ pub external fn round(Float) -> Int = /// pub external fn truncate(Float) -> Int = "erlang" "trunc" + +/// Returns the absolute value of the input as a float. +/// +/// ## Examples +/// +/// > absolute_value(-12.5) +/// 12.5 +/// +/// > absolute_value(10.2) +/// 10.2 +/// +pub external fn absolute_value(Float) -> Float = + "erlang" "abs" diff --git a/test/gleam/float_test.gleam b/test/gleam/float_test.gleam index d8ed02e..5508a76 100644 --- a/test/gleam/float_test.gleam +++ b/test/gleam/float_test.gleam @@ -183,3 +183,20 @@ pub fn max_test() { float.max(-1.1, -1.) |> should.equal(-1.) } + +pub fn absolute_value_test() { + float.absolute_value(-1.0) + |> should.equal(1.0) + + float.absolute_value(-20.6) + |> should.equal(20.6) + + float.absolute_value(0.0) + |> should.equal(0.0) + + float.absolute_value(1.0) + |> should.equal(1.0) + + float.absolute_value(25.2) + |> should.equal(25.2) +} |