Hash.sip.last: def of bend-kit-hash@0.3.0.2 Import: import bend-kit-hash@0.3.0.2/hash.bend as Hash Lines 631-636 of bend-kit-hash@0.3.0.2/hash.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-hash@0.3.0.2/hash.bend&start_line=631&end_line=636 import Base import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # The last block: the len % 8 bytes left, and len mod 256 in the top byte. def sip.last(+len: U32, r: Array & W64, s: S4) -> Bytes.Bytes & W64: (a, W64{+hi, +lo}) = r +k = (len .&. 7 : U32) +top = ((len .&. 255) << 24n : U32) (Bytes.Bytes{len, a}, sip.end(sip.block(s, W64{(sip.keep(hi, Bool.pick(U32, U32.is_lt(4, k), (k - 4 : U32), 0)) .|. top : U32), sip.keep(lo, U32.min(k, 4))}))) Uses (17): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.min 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.sub https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=S4 https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=W64 https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=sip.block https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=sip.end https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=sip.keep