def cast.lookup
bend-osdev-legacy-ciphers@0.1.0.0 · cast5.bend:320
import bend-osdev-legacy-ciphers@0.1.0.0/cast5.bend as Cast5
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L
320def cast.lookup(+t: LcCastTabs, +i: U32, n: Nat) -> U32:
321 match t:
322 case LcCastTabs{s1, s2, s3, s4}:
323 match n:
324 case 0n:
325 L.lc.tab.get(8n, s1, L.lc.byte(i, 3n))
326 case 1n+n1:
327 match n1:
328 case 0n:
329 L.lc.tab.get(8n, s2, L.lc.byte(i, 2n))
330 case 1n+n2:
331 match n2:
332 case 0n:
333 L.lc.tab.get(8n, s3, L.lc.byte(i, 1n))
334 case 1n+n3:
335 L.lc.tab.get(8n, s4, L.lc.byte(i, 0n))