## Expand description

Traits and helper functions related to floats.

## Traits

- Abstract trait representing a SPIR-V floating point type.

## Functions

- Converts an f16 (half) into an f32 (float). The parameter is a u32, due to GPU support for u16 not being universal - the upper 16 bits are ignored.
- Converts two f16 values (halfs) into two f32 values (floats). The parameter is a u32, with the low 16 bits being the first f16, and the high 16 bits being the second f16.
- Converts an f32 (float) into an f16 (half). The result is a u32, not a u16, due to GPU support for u16 not being universal - the upper 16 bits will always be zero.
- Unpacks 4 8-bit signed integers into a vec4. See UnpackSnorm4x8 for exact semantics.
- Unpacks 4 8-bit unsigned integers into a vec4. See UnpackSnorm4x8 for exact semantics.
- Unpacks 2 16-bit signed integers into a vec2. See UnpackSnorm2x16 for exact semantics.
- Unpacks 2 16-bit unsigned integers into a vec2. See UnpackUnorm2x16 for exact semantics.
- Converts two f32 values (floats) into two f16 values (halfs). The result is a u32, with the low 16 bits being the first f16, and the high 16 bits being the second f16.
- Packs a vec2 into 2 16-bit signed integers. See PackSnorm2x16 for exact semantics.
- Packs a vec2 into 2 16-bit unsigned integers. See PackUnorm2x16 for exact semantics.
- Packs a vec4 into 4 8-bit signed integers. See PackSnorm4x8 for exact semantics.
- Packs a vec4 into 4 8-bit unsigned integers. See PackUnorm4x8 for exact semantics.