# `nupp.math.f32` IEEE-754 binary32 arithmetic with explicit rounding. ## Functions ### `add` _function_ ```nupp local add: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `div` _function_ ```nupp local div: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `exp` _function_ ```nupp 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 | Name | Type | Description | | --- | --- | --- | | `value` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `fma` _function_ ```nupp local fma: nosuspend function(a: float, b: float, c: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | | `c` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `fromBF16Bits` _function_ ```nupp local fromBF16Bits: nosuspend function(bits: uint32): float ``` Widens the low sixteen IEEE bfloat16 storage bits to binary32. #### Arguments | Name | Type | Description | | --- | --- | --- | | `bits` | `uint32` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `fromBits` _function_ ```nupp local fromBits: nosuspend function(bits: uint32): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `bits` | `uint32` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `fromF16Bits` _function_ ```nupp local fromF16Bits: nosuspend function(bits: uint32): float ``` Widens IEEE binary16 storage bits to binary32, canonicalizing NaN. #### Arguments | Name | Type | Description | | --- | --- | --- | | `bits` | `uint32` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `max` _function_ ```nupp local max: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `min` _function_ ```nupp local min: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `mul` _function_ ```nupp local mul: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `narrow` _function_ ```nupp local narrow: nosuspend function(value: number): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `number` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `round` _function_ ```nupp local round: nosuspend function(value: number): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `number` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `sqrt` _function_ ```nupp local sqrt: nosuspend function(value: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `sub` _function_ ```nupp local sub: nosuspend function(a: float, b: float): float ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `a` | `float` | | | `b` | `float` | | #### Returns | Type | Description | | --- | --- | | `float` | | ### `toBF16Bits` _function_ ```nupp local toBF16Bits: nosuspend function(value: float): uint32 ``` Rounds binary32 to IEEE bfloat16 storage bits, ties to even. #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `float` | | #### Returns | Type | Description | | --- | --- | | `uint32` | | ### `toBits` _function_ ```nupp local toBits: nosuspend function(value: float): uint32 ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `float` | | #### Returns | Type | Description | | --- | --- | | `uint32` | | ### `toF16Bits` _function_ ```nupp local toF16Bits: nosuspend function(value: float): uint32 ``` Rounds binary32 to IEEE binary16 storage bits, ties to even. #### Arguments | Name | Type | Description | | --- | --- | --- | | `value` | `float` | | #### Returns | Type | Description | | --- | --- | | `uint32` | |