def AmlUnit.take

bend-osdev-acpi@0.1.1.0 · aml_field.bend:119

import bend-osdev-acpi@0.1.1.0/aml_field.bend as AmlField
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W

119# the field bits a unit holds, from the unit's value v, in place in the
120# field's value
121def AmlUnit.take(u: AmlUnit, +v: W.W64) -> W.W64:
122  match u:
123    case AmlUnit{a, +s, +n, +d, ok}:
124      W.W64.shl(W.W64.and(W.W64.shr(v, s), fld.mask(n)), d)

Uses (6)

Used by (1)