+8
-13
2025/5/gleam/src/main.gleam
+8
-13
2025/5/gleam/src/main.gleam
···
75
75
int.compare(range.1, seen_range.0)
76
76
{
77
77
Gt, Gt, Gt, Gt | Lt, Lt, Lt, Lt -> #(range, seen_ranges)
78
-
Eq, Eq, Eq, Eq
79
-
| Gt, Lt, Lt, Gt
80
-
| Eq, Lt, Lt, Gt
81
-
| Eq, Lt, Lt, Eq
82
-
| Gt, Eq, Lt, Gt
83
-
| Gt, Eq, Eq, Gt
84
-
| Eq, Eq, Lt, Gt
85
-
-> #(#(0, 0), seen_ranges)
86
-
Eq, Gt, Eq, Gt | Lt, Eq, Lt, Gt | Lt, Gt, Lt, Gt | Lt, Eq, Lt, Eq -> #(
78
+
Eq, Eq, _, _ | Gt, Lt, _, _ | Eq, Lt, _, _ | Gt, Eq, _, _ -> #(
79
+
#(0, 0),
80
+
seen_ranges,
81
+
)
82
+
Eq, Gt, Eq, Gt | Lt, Eq, _, _ | Lt, Gt, _, _ -> #(
87
83
range,
88
84
set.delete(seen_ranges, seen_range),
89
85
)
90
-
Eq, Gt, Lt, Gt -> #(range, set.delete(seen_ranges, seen_range))
91
-
Lt, Lt, Lt, Gt | Lt, Lt, Lt, Eq -> #(
86
+
Eq, Gt, _, _ -> #(range, set.delete(seen_ranges, seen_range))
87
+
Lt, Lt, _, _ -> #(
92
88
#(range.0, seen_range.1),
93
89
set.delete(seen_ranges, seen_range),
94
90
)
95
-
Gt, Gt, Lt, Gt | Gt, Gt, Eq, Gt -> #(
91
+
Gt, Gt, _, _ -> #(
96
92
#(seen_range.0, range.1),
97
93
set.delete(seen_ranges, seen_range),
98
94
)
99
-
_, _, _, _ -> #(range, seen_ranges)
100
95
}
101
96
})
102
97