Sha512.rotr_small: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/spec/crypto/sha512.bend as Sha512 Lines 40-44 of bend-collections-laws-crypto@1.0.0.0/spec/crypto/sha512.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/sha512.bend&start_line=40&end_line=44 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/types.bend as T # ROTR^n on the halves for 0 < n < 32: each half keeps its bits shifted right # and takes the other half's low n bits at the top. def rotr_small(+hi: U32, +lo: U32, +n: Nat) -> T.Lane: T.W{U32.or(U32.shrn(hi, n), U32.shln(lo, Nat.sub(32n, n))), U32.or(U32.shrn(lo, n), U32.shln(hi, Nat.sub(32n, n)))} Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shln https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shrn https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/types.bend&name=Lane