aboutsummaryrefslogtreecommitdiff
path: root/aoc2023/src/utilities/array2d.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'aoc2023/src/utilities/array2d.gleam')
-rw-r--r--aoc2023/src/utilities/array2d.gleam6
1 files changed, 6 insertions, 0 deletions
diff --git a/aoc2023/src/utilities/array2d.gleam b/aoc2023/src/utilities/array2d.gleam
index d7d05f8..83ec8ae 100644
--- a/aoc2023/src/utilities/array2d.gleam
+++ b/aoc2023/src/utilities/array2d.gleam
@@ -9,6 +9,12 @@ pub type Posn {
pub type Array2D(a) =
Dict(Posn, a)
+pub fn add_posns(p1: Posn, p2: Posn) -> Posn {
+ case p1, p2 {
+ Posn(r1, c1), Posn(r2, c2) -> Posn(r1 + r2, c1 + c2)
+ }
+}
+
pub fn to_2d_array(xss: List(List(a))) -> Array2D(a) {
{
use r, row <- list.index_map(xss)