1// 32-bit word arithmetic, which a Gleam Int on this target is not.2//3// This is the whole of the PRNG's platform gap: the generators themselves are4// in prng.gleam. Nothing here makes a decision; it only supplies the wrap-5// around multiply and the logical shift that mulberry and FNV-1a are defined6// in terms of, and which a double-backed integer cannot express.78export function imul(a, b) {9 return Math.imul(a, b);10}1112export function ushr(value, bits) {13 return value >>> bits;14}1516export function u32(value) {17 return value >>> 0;18}1920export function i32(value) {21 return value | 0;22}2324export function bxor(a, b) {25 return a ^ b;26}2728export function bor(a, b) {29 return a | b;30}3132export function floor(value) {33 return Math.floor(value);34}