aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Schembor <connor.schembor@rutgers.edu>2020-10-29 21:52:05 -0400
committerLouis Pilfold <louis@lpil.uk>2020-10-30 11:46:09 +0100
commit8e421527ad59a4bcea656ca1cdd6c643c99771c9 (patch)
tree2a613e75920bdf648eb336b7ba739ebb2984036b
parent6b2b12760686566bf4ca88008f06194788d32eb1 (diff)
downloadgleam_stdlib-8e421527ad59a4bcea656ca1cdd6c643c99771c9.tar.gz
gleam_stdlib-8e421527ad59a4bcea656ca1cdd6c643c99771c9.zip
Add to_float function for int module
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/gleam/int.gleam16
-rw-r--r--test/gleam/int_test.gleam14
3 files changed, 31 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b45b807..c9c9dfe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
- The `int` and `float` modules gain the `negate` function.
- The `result` module gains the `all` function.
- The `dynamic` module gains the `option` function.
+- The `int` module gains the `to_float` function.
## v0.11.0 - 2020-08-22
diff --git a/src/gleam/int.gleam b/src/gleam/int.gleam
index 2dc4f46..f717eaa 100644
--- a/src/gleam/int.gleam
+++ b/src/gleam/int.gleam
@@ -42,6 +42,22 @@ pub external fn to_string(Int) -> String =
pub external fn to_base_string(Int, Int) -> String =
"erlang" "integer_to_binary"
+/// Takes an int and returns its value as a float
+///
+/// ## Examples
+///
+/// > to_float(5)
+/// 5.
+///
+/// > to_float(0)
+/// 0.
+///
+/// > to_float(-3)
+/// -3.
+///
+pub external fn to_float(a: Int) -> Float =
+ "erlang" "float"
+
/// Compares two ints, returning an order.
///
/// ## Examples
diff --git a/test/gleam/int_test.gleam b/test/gleam/int_test.gleam
index 4a01073..97fbb84 100644
--- a/test/gleam/int_test.gleam
+++ b/test/gleam/int_test.gleam
@@ -52,6 +52,20 @@ pub fn to_base_string_test() {
|> should.equal("-64")
}
+pub fn to_float_test() {
+ int.to_float(1)
+ |> should.equal(1.)
+
+ int.to_float(5)
+ |> should.equal(5.)
+
+ int.to_float(0)
+ |> should.equal(0.)
+
+ int.to_float(-5)
+ |> should.equal(-5.)
+}
+
pub fn compare_test() {
int.compare(0, 0)
|> should.equal(order.Eq)