Defs.put_byte: def of lawful-words@0.1.0.0 Import: import lawful-words@0.1.0.0/defs.bend as Defs Lines 24-28 of lawful-words@0.1.0.0/defs.bend: https://jend.leeeet.dev/read.txt?path=lawful-words@0.1.0.0/defs.bend&start_line=24&end_line=28 import Base # w with byte j replaced by b: (w & ~(255 << 8j)) | (b << 8j). Meant for # b < 256 and j < 4: a larger b spills into the next byte, and from j = 4 up # the word is unchanged. def put_byte(w: U32, +j: Nat, b: U32) -> U32: U32.or(U32.and(w, U32.not(U32.shln(255, Nat.mul(8n, j)))), U32.shln(b, Nat.mul(8n, j))) 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.mul 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.not 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