aboutsummaryrefslogtreecommitdiff
path: root/aoc-2020-gleam/src/ext/intx.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'aoc-2020-gleam/src/ext/intx.gleam')
-rw-r--r--aoc-2020-gleam/src/ext/intx.gleam9
1 files changed, 9 insertions, 0 deletions
diff --git a/aoc-2020-gleam/src/ext/intx.gleam b/aoc-2020-gleam/src/ext/intx.gleam
index 5c9bcc0..aec513b 100644
--- a/aoc-2020-gleam/src/ext/intx.gleam
+++ b/aoc-2020-gleam/src/ext/intx.gleam
@@ -1,6 +1,8 @@
import gleam/int
import gleam/bool
+import gleam/float
import gleam/order.{Eq, Gt, Lt}
+import ext/resultx as resx
pub fn is_between(number: Int, min: Int, and max: Int) {
min <= number && number <= max
@@ -35,3 +37,10 @@ fn do_reverse_bits(val: Int, rev: Int, length: Int) -> Int {
pub fn reverse_bits(val: Int, length: Int) -> Int {
do_reverse_bits(val, 0, length)
}
+
+pub fn sqrt(x: Int) {
+ x
+ |> int.square_root
+ |> resx.assert_unwrap
+ |> float.round
+}