|
ftz shaders 0.0.1
HLSL 2021 interface
|
Canonical binary32 word wrapper with named HLSL imports and exports. Ordinary aggregate casts/default storage do not normalize or initialize a value; use from_bits(), from_float() or zero(). Treat bits_ as implementation storage. More...
#include <ftz32.h>
Public Member Functions | |
| unsigned int | to_bits () |
| Exports the exact stored word without arithmetic. | |
| float | to_float () |
| Exports stored bits as an ordinary HLSL float, leaving this value contract. | |
| ftz32 | operator+ (ftz32 rhs) |
| Uses the selected shader FTZ policy for canonical operands. | |
| ftz32 | operator+ (float rhs) |
| Imports a raw float operand before the operation. | |
| ftz32 | operator- (ftz32 rhs) |
| Uses the selected shader FTZ policy for canonical operands. | |
| ftz32 | operator- (float rhs) |
| Imports a raw float operand before the operation. | |
| ftz32 | operator* (ftz32 rhs) |
| Uses the selected shader FTZ policy for canonical operands. | |
| ftz32 | operator* (float rhs) |
| Imports a raw float operand before the operation. | |
| ftz32 | operator/ (ftz32 rhs) |
| Uses the selected shader FTZ policy for canonical operands. | |
| ftz32 | operator/ (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator< (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator> (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator== (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator!= (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator<= (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator>= (ftz32 rhs) |
| Compares canonical values; NaN is unordered and the two zero signs compare equal. | |
| bool | operator< (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator> (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator== (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator!= (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator<= (float rhs) |
| Imports a raw float operand before the operation. | |
| bool | operator>= (float rhs) |
| Imports a raw float operand before the operation. | |
Static Public Member Functions | |
| static ftz32 | from_bits (unsigned int bits) |
| Imports a binary32 word and replaces a subnormal magnitude with signed zero. | |
| static ftz32 | from_float (float value) |
| Imports a float through its bits and normalizes subnormals. | |
| static ftz32 | unsafe_from_float32 (float value) |
| Wraps bits unchanged; the caller must supply normal, signed zero, infinity or NaN. | |
| static ftz32 | zero () |
| Returns positive zero. | |
Canonical binary32 word wrapper with named HLSL imports and exports. Ordinary aggregate casts/default storage do not normalize or initialize a value; use from_bits(), from_float() or zero(). Treat bits_ as implementation storage.