def tab.row

bend-osdev-gf@0.1.1.0 · check.bend:21

import bend-osdev-gf@0.1.1.0/check.bend as Check
import Base
import bend-osdev-gf@0.1.1.0/gf.bend as G
import bend-osdev-gf@0.1.1.0/tables.bend as T

21def tab.row(n: Nat, +f: G.Gf8Field, r: T.Gf8Tab & U32, +a: U32, +b: U32, bad: Nat) -> T.Gf8Tab & Nat:
22  match n:
23    case 0n:
24      (t, v) = r
25      (t, bad)
26    case 1n+k:
27      (t, +v) = r
28      +b1 = U32.add(b, 1)
29      tab.row(k, f, T.Gf8Tab.mul(t, a, b1), a, b1, tab.count(U32.is_eq(v, G.Gf8.mul(f, a, b)), bad))

Uses (11)

Used by (1)