def cur.pkg.go

bend-osdev-acpi@0.1.1.0 · aml_interp.bend:306

import bend-osdev-acpi@0.1.1.0/aml_interp.bend as AmlInterp
import Base
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/aml_pkglength.bend as K

306def cur.pkg.go(r: Result<&2, &2, E.AcpiError, K.AmlPkgL>, +lim: Nat) -> Result<&2, &2, E.AcpiError, AmlPkgC>:
307  match r:
308    case Fail{e}:
309      Fail{e}
310    case Done{K.AmlPkgL{v, +size, rest}}:
311      +total = U32.to_nat(v)
312      cur.pkg.k(Bool.and(Nat.is_le(size, total), Nat.is_le(total, lim)), Nat.sub(total, size), rest, Nat.sub(lim, total))

Uses (10)

Used by (1)