Skip to content

Commit

Permalink
Add missing TupleSplitTupleSize16 impl. in metaprogramming.cairo (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
feltroidprime authored Oct 20, 2024
1 parent 4595c88 commit 0bc034b
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions corelib/src/metaprogramming.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,24 @@ impl TupleSplitTupleSize15<
(head, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
}
}
impl TupleSplitTupleSize16<
E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15
> of TupleSplit<(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)> {
type Head = E0;
type Rest = (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15);
fn split_head(
self: (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)
) -> (E0, (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)) nopanic {
let (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) = self;
(e0, (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15))
}
fn reconstruct(
head: E0, rest: (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)
) -> (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15) nopanic {
let (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) = rest;
(head, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
}
}
impl TupleSplitFixedSizedArraySized1<T> of TupleSplit<[T; 1]> {
type Head = T;
type Rest = [T; 0];
Expand Down

0 comments on commit 0bc034b

Please sign in to comment.