def m64.split

bend-osdev-legacy-ciphers@0.1.0.0 · modes64.bend:95

import bend-osdev-legacy-ciphers@0.1.0.0/modes64.bend as Modes64
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L

95# the bytes as whole blocks (reversed onto acc), or None if bytes are left over
96def m64.split(xs: List<&2, U32>, acc: List<&2, L.LcBlock64>) -> Maybe<&2, List<&2, L.LcBlock64>>:
97  match xs:
98    case Nil{}:
99      Some{m64.rev_onto(acc, Nil{})}
100    case Con{a0, Con{a1, Con{a2, Con{a3, Con{a4, Con{a5, Con{a6, Con{a7, t}}}}}}}}:
101      m64.split(t, Con{L.lc.block8(a0, a1, a2, a3, a4, a5, a6, a7), acc})
102    case _:
103      None{}

Uses (6)

Used by (3)