def hd.words
bend-kit-cbor@0.3.0.0 · cbor.bend:455
import bend-kit-cbor@0.3.0.0/cbor.bend as Cbor
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
455
456def hd.words(n: Nat, r: Array<U32> & U32, +j: U32, +hi: U32, +lo: U32, +major: U32, +ai: U32) -> Array<U32> & Maybe<&2, Hd>:
457 match n:
458 case 0n:
459 (a, b) = r
460 (a, Some{Hd{major, ai, W64{hi, lo}, j}})
461 case 1n+p:
462 (a, +b) = r
463 hd.words(p, Bytes.peek(a, (j + 1 : U32)), (j + 1 : U32), ((hi << 8n) .|. (lo >> 24n) : U32), ((lo << 8n) .|. b : U32), major, ai)