MlbendGenerative.uniform: def of mlbend-generative@0.1.1.0 Import: import mlbend-generative@0.1.1.0/main.bend as MlbendGenerative Lines 64-69 of mlbend-generative@0.1.1.0/main.bend: https://jend.leeeet.dev/read.txt?path=mlbend-generative@0.1.1.0/main.bend&start_line=64&end_line=69 import Base # a uniform in (0, 1]: the low 24 bits of the hash plus one, exactly # representable, so log(u) is never log(0) def uniform(+s: Nat, +i: Nat) -> F32: h = mix32(hash_of(s, i)) m = ((U32.and(h, U32.from_nat(16777215n)) + 1 : U32) : U32) (F32.from_nat(U32.to_nat(m)) / 16777216.0 : F32) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32.div https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32.from_nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add 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.from_nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=mlbend-generative@0.1.1.0/main.bend&name=hash_of https://jend.leeeet.dev/definition.txt?path=mlbend-generative@0.1.1.0/main.bend&name=mix32