def rotr_split

bend-collections-laws-crypto@1.0.0.0 · spec/crypto/blake/blake2b.bend:36

import bend-collections-laws-crypto@1.0.0.0/spec/crypto/blake/blake2b.bend as Blake2b
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend as T

36# n > 32 rotates the swapped halves by n - 32.
37def rotr_split(lo: U32, hi: U32, +n: Nat, small: Bool) -> T.Lane:
38  match small:
39    case True{}: rotr_small(lo,hi,n)
40    case False{}: rotr_small(hi,lo,Nat.sub(n,32n))

Uses (6)

Used by (1)