diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-23 11:37:17 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-23 11:37:17 +0100 |
commit | 1b8b85dd5f0aead5fb97ee9d8aa99d877c6a79e7 (patch) | |
tree | 2f44122a28dd22500624cc4d538eaa95536965fb /aoc-2020-gleam/src/ext/intx.gleam | |
parent | 7a5f1983f9189422ad5e12afde11d11bec30a3f1 (diff) | |
download | gleam_aoc2020-1b8b85dd5f0aead5fb97ee9d8aa99d877c6a79e7.tar.gz gleam_aoc2020-1b8b85dd5f0aead5fb97ee9d8aa99d877c6a79e7.zip |
Finish day 20
Diffstat (limited to 'aoc-2020-gleam/src/ext/intx.gleam')
-rw-r--r-- | aoc-2020-gleam/src/ext/intx.gleam | 9 |
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 +} |