nupp.math.f32

IEEE-754 binary32 arithmetic with explicit rounding.

Module contents

Functions

FunctionKindDescription
addfunction
divfunction
expfunctionA deterministic polynomial exponential, clamped to [-104, 88].
fmafunction
fromBF16BitsfunctionWidens the low sixteen IEEE bfloat16 storage bits to binary32.
fromBitsfunction
fromF16BitsfunctionWidens IEEE binary16 storage bits to binary32, canonicalizing NaN.
maxfunction
minfunction
mulfunction
narrowfunction
roundfunction
sqrtfunction
subfunction
toBF16BitsfunctionRounds binary32 to IEEE bfloat16 storage bits, ties to even.
toBitsfunction
toF16BitsfunctionRounds binary32 to IEEE binary16 storage bits, ties to even.

Functions#

addfunction#

local add: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

divfunction#

local div: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

expfunction#

local exp: nosuspend function(value: float): float

A deterministic polynomial exponential, clamped to [-104, 88]. The specified binary32 operation sequence is shared by CPU and GPU AOT.

Arguments

NameTypeDescription
valuefloat

Returns

TypeDescription
float

fmafunction#

local fma: nosuspend function(a: float, b: float, c: float): float

Arguments

NameTypeDescription
afloat
bfloat
cfloat

Returns

TypeDescription
float

fromBF16Bitsfunction#

local fromBF16Bits: nosuspend function(bits: uint32): float

Widens the low sixteen IEEE bfloat16 storage bits to binary32.

Arguments

NameTypeDescription
bitsuint32

Returns

TypeDescription
float

fromBitsfunction#

local fromBits: nosuspend function(bits: uint32): float

Arguments

NameTypeDescription
bitsuint32

Returns

TypeDescription
float

fromF16Bitsfunction#

local fromF16Bits: nosuspend function(bits: uint32): float

Widens IEEE binary16 storage bits to binary32, canonicalizing NaN.

Arguments

NameTypeDescription
bitsuint32

Returns

TypeDescription
float

maxfunction#

local max: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

minfunction#

local min: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

mulfunction#

local mul: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

narrowfunction#

local narrow: nosuspend function(value: number): float

Arguments

NameTypeDescription
valuenumber

Returns

TypeDescription
float

roundfunction#

local round: nosuspend function(value: number): float

Arguments

NameTypeDescription
valuenumber

Returns

TypeDescription
float

sqrtfunction#

local sqrt: nosuspend function(value: float): float

Arguments

NameTypeDescription
valuefloat

Returns

TypeDescription
float

subfunction#

local sub: nosuspend function(a: float, b: float): float

Arguments

NameTypeDescription
afloat
bfloat

Returns

TypeDescription
float

toBF16Bitsfunction#

local toBF16Bits: nosuspend function(value: float): uint32

Rounds binary32 to IEEE bfloat16 storage bits, ties to even.

Arguments

NameTypeDescription
valuefloat

Returns

TypeDescription
uint32

toBitsfunction#

local toBits: nosuspend function(value: float): uint32

Arguments

NameTypeDescription
valuefloat

Returns

TypeDescription
uint32

toF16Bitsfunction#

local toF16Bits: nosuspend function(value: float): uint32

Rounds binary32 to IEEE binary16 storage bits, ties to even.

Arguments

NameTypeDescription
valuefloat

Returns

TypeDescription
uint32