zena:math
zena
import {…} from 'zena:math';
Functions
mulWide
zena
declare function mulWide(x: u64, y: u64): inline (u64, u64)
The full 128-bit unsigned product of two u64s, as (low, high).
mulWideSigned
zena
declare function mulWideSigned(x: i64, y: i64): inline (i64, i64)
The full 128-bit signed product of two i64s, as (low, high).
add128
zena
declare function add128(aLow: u64, aHigh: u64, bLow: u64, bHigh: u64): inline (u64, u64)
128-bit addition of (aLow, aHigh) + (bLow, bHigh), wrapping.
sub128
zena
declare function sub128(aLow: u64, aHigh: u64, bLow: u64, bHigh: u64): inline (u64, u64)
128-bit subtraction of (aLow, aHigh) - (bLow, bHigh), wrapping.
clz
zena
declare function clz(x: i32): i32
clz
zena
declare function clz(x: i64): i64
clz
zena
declare function clz(x: u64): u64
ctz
zena
declare function ctz(x: i32): i32
ctz
zena
declare function ctz(x: i64): i64
ctz
zena
declare function ctz(x: u64): u64
popcnt
zena
declare function popcnt(x: i32): i32
popcnt
zena
declare function popcnt(x: i64): i64
popcnt
zena
declare function popcnt(x: u64): u64
abs
zena
declare function abs(x: f32): f32
abs
zena
declare function abs(x: f64): f64
neg
zena
declare function neg(x: f32): f32
neg
zena
declare function neg(x: f64): f64
ceil
zena
declare function ceil(x: f32): f32
ceil
zena
declare function ceil(x: f64): f64
floor
zena
declare function floor(x: f32): f32
floor
zena
declare function floor(x: f64): f64
trunc
zena
declare function trunc(x: f32): f32
trunc
zena
declare function trunc(x: f64): f64
nearest
zena
declare function nearest(x: f32): f32
nearest
zena
declare function nearest(x: f64): f64
sqrt
zena
declare function sqrt(x: f32): f32
sqrt
zena
declare function sqrt(x: f64): f64
min
zena
declare function min(a: f32, b: f32): f32
min
zena
declare function min(a: f64, b: f64): f64
max
zena
declare function max(a: f32, b: f32): f32
max
zena
declare function max(a: f64, b: f64): f64
copysign
zena
declare function copysign(x: f32, y: f32): f32
copysign
zena
declare function copysign(x: f64, y: f64): f64
div
zena
declare function div(a: i32, b: i32): i32
div
zena
declare function div(a: i64, b: i64): i64
div
zena
declare function div(a: u32, b: u32): u32
div
zena
declare function div(a: u64, b: u64): u64
i32_trunc_s
zena
declare function i32_trunc_s(x: f32): i32
i32_trunc_s
zena
declare function i32_trunc_s(x: f64): i32
i32_trunc_u
zena
declare function i32_trunc_u(x: f32): i32
i32_trunc_u
zena
declare function i32_trunc_u(x: f64): i32
i64_trunc_s
zena
declare function i64_trunc_s(x: f32): i64
i64_trunc_s
zena
declare function i64_trunc_s(x: f64): i64
i64_trunc_u
zena
declare function i64_trunc_u(x: f32): i64
i64_trunc_u
zena
declare function i64_trunc_u(x: f64): i64
i32_reinterpret_f32
zena
declare function i32_reinterpret_f32(x: f32): i32
Reinterpret the bits of an f32 as an i32.
i64_reinterpret_f64
zena
declare function i64_reinterpret_f64(x: f64): i64
Reinterpret the bits of an f64 as an i64.
f32_reinterpret_i32
zena
declare function f32_reinterpret_i32(x: i32): f32
Reinterpret the bits of an i32 as an f32.
f64_reinterpret_i64
zena
declare function f64_reinterpret_i64(x: i64): f64
Reinterpret the bits of an i64 as an f64.
Variables
I32_MIN
zena
let I32_MIN: i32
I32_MAX
zena
let I32_MAX: i32
U32_MIN
zena
let U32_MIN: u32
U32_MAX
zena
let U32_MAX: u32
I64_MIN
zena
let I64_MIN: i64
I64_MAX
zena
let I64_MAX: i64
U64_MIN
zena
let U64_MIN: u64
U64_MAX
zena
let U64_MAX: u64