x-lang

← Index

x/num/u32

32-bit unsigned values on any word: u32 reads a word’s low 32 bits as the value, u32-bits takes the value back to the word’s bits, and u32-srl shifts those bits right logically.

u32

The unsigned value of a word’s low 32 bits.

Returns: INTEGER — The value, 0 to 4294967295: a bigint from 2^31 up on a 4-byte word

Examples:

(do (import x/num/u32 u32) (u32 -1)) => 4294967295

u32-bits

The word holding a 32-bit value’s bits, the form a computation in the word’s bits takes.

Returns: INTEGER — The value’s 32 bits as the word holds them: negative from 2^31 up on a 4-byte word

Examples:

(do (import x/num/u32 u32 u32-bits) (u32 (u32-bits 4294967295))) => 4294967295

u32-srl

The logical right shift of 32 bits held in a word.

Returns: INTEGER — x shifted right n places, zeros in from the top, as u32-bits holds it

Examples:

(do (import x/num/u32 u32 u32-bits u32-srl) (u32 (u32-srl (u32-bits 4294967295) 4))) => 268435455