Skip to content

Bit32 Library

function bit32.band(args: ...number): number
function bit32.bnot(n: number): number
function bit32.bor(args: ...number): number
function bit32.bxor(args: ...number): number
function bit32.btest(args: ...number): boolean
function bit32.extract(n: number, field: number, width: number?): number
function bit32.replace(n: number, replacement: number, field: number, width: number?): number
function bit32.byteswap(n: number): number
function bit32.countlz(n: number): number
function bit32.countrz(n: number): number
function bit32.lrotate(n: number, displacement: number): number
function bit32.rrotate(n: number, displacement: number): number
function bit32.lshift(n: number, displacement: number): number
function bit32.rshift(n: number, displacement: number): number
function bit32.arshift(n: number, displacement: number): number
function bit32.s32(n: number): number
function bit32.smul(a: number, b: number): number

bit32.s32 is used for normalizing numbers to the signed 32-bit range. Whereas bit32.smul performs signed 32-bit multiplication, without inccuring float64 precision loss.