aboutsummaryrefslogtreecommitdiff
path: root/src/std/float.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'src/std/float.gleam')
-rw-r--r--src/std/float.gleam21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/std/float.gleam b/src/std/float.gleam
new file mode 100644
index 0000000..8e1904e
--- /dev/null
+++ b/src/std/float.gleam
@@ -0,0 +1,21 @@
+import std/iodata
+
+pub enum NotAFloat =
+ | NotAFloat
+
+pub external fn parse(String) -> Result(Float, NotAFloat) =
+ "gleam__stdlib" "parse_float";
+
+pub fn to_string(f) {
+ f
+ |> iodata:from_float
+ |> iodata:to_string
+}
+
+pub external fn ceiling(Float) -> Float = "math" "ceil";
+
+pub external fn floor(Float) -> Float = "math" "floor";
+
+pub external fn round(Float) -> Int = "erlang" "round";
+
+pub external fn truncate(Float) -> Int = "erlang" "trunc";