Expand description
Polyfill edge adapters for the narrow cranelift scalar widths
(u8/i8/u16/i16/f16) added by the full-cranelift type
alignment (polydat/docs/design/type_system_alignment.md §8.1).
Each width mirrors its existing wider sibling’s adapter row in
polyfill.rs exactly — same failure-mode split, same byte
order, same panic diagnostics:
u8/u16mirroru32(zero-extend inValue::U64).i8/i16mirrori32(sign-extend inValue::I64).f16mirrorsf32(bit pattern stuffed inValue::U64; widening to f32/f64 is exact, narrowing rounds).
Catalog registration lives in
compile/assembly.rs::{auto_adapter, boundary_adapter} — the
lossless widenings are class A (both catalogs), everything
that can panic on range/parse/shape is class B (boundary
only). Bytes serdes are little-endian; f16 ↔ Bytes is
the 2-byte to_bits() pattern.
Structs§
- Bool
ToF16 - The
__bool_to_f16node. - Bool
ToI8 - The
__bool_to_i8node. - Bool
ToI16 - The
__bool_to_i16node. - Bool
ToU8 - The
__bool_to_u8node. - Bool
ToU16 - The
__bool_to_u16node. - Bytes
ToF16 - The
__bytes_to_f16node. - Bytes
ToI8 - The
__bytes_to_i8node. - Bytes
ToI16 - The
__bytes_to_i16node. - Bytes
ToU8 - The
__bytes_to_u8node. - Bytes
ToU16 - The
__bytes_to_u16node. - F16To
Bool - The
__f16_to_boolnode. - F16To
Bytes - The
__f16_to_bytesnode. - F16To
F32 - The
__f16_to_f32node. - F16To
F64 - The
__f16_to_f64node. - F16To
Json - The
__f16_to_jsonnode. - F16To
String - The
__f16_to_stringnode. - F32To
F16 - The
__f32_to_f16node. - F64To
F16 - The
__f64_to_f16node. - F64ToI8
- The
__f64_to_i8node. - F64To
I16 - The
__f64_to_i16node. - F64ToU8
- The
__f64_to_u8node. - F64To
U16 - The
__f64_to_u16node. - I8To
Bool - The
__i8_to_boolnode. - I8To
Bytes - The
__i8_to_bytesnode. - I8ToF16
- The
__i8_to_f16node. - I8ToF32
- The
__i8_to_f32node. - I8ToF64
- The
__i8_to_f64node. - I8ToI16
- The
__i8_to_i16node. - I8ToI32
- The
__i8_to_i32node. - I8ToI64
- The
__i8_to_i64node. - I8To
Json - The
__i8_to_jsonnode. - I8To
String - The
__i8_to_stringnode. - I16To
Bool - The
__i16_to_boolnode. - I16To
Bytes - The
__i16_to_bytesnode. - I16To
F32 - The
__i16_to_f32node. - I16To
F64 - The
__i16_to_f64node. - I16To
I32 - The
__i16_to_i32node. - I16To
I64 - The
__i16_to_i64node. - I16To
Json - The
__i16_to_jsonnode. - I16To
String - The
__i16_to_stringnode. - I32ToI8
- The
__i32_to_i8node. - I32To
I16 - The
__i32_to_i16node. - I64ToI8
- The
__i64_to_i8node. - I64To
I16 - The
__i64_to_i16node. - I64ToU8
- The
__i64_to_u8node. - I64To
U16 - The
__i64_to_u16node. - Json
ToF16 - The
__json_to_f16node. - Json
ToI8 - The
__json_to_i8node. - Json
ToI16 - The
__json_to_i16node. - Json
ToU8 - The
__json_to_u8node. - Json
ToU16 - The
__json_to_u16node. - StrTo
F16 - The
__str_to_f16node. - StrToI8
- The
__str_to_i8node. - StrTo
I16 - The
__str_to_i16node. - StrToU8
- The
__str_to_u8node. - StrTo
U16 - The
__str_to_u16node. - U8To
Bool - The
__u8_to_boolnode. - U8To
Bytes - The
__u8_to_bytesnode. - U8ToF16
- The
__u8_to_f16node. - U8ToF32
- The
__u8_to_f32node. - U8ToF64
- The
__u8_to_f64node. - U8ToI16
- The
__u8_to_i16node. - U8ToI32
- The
__u8_to_i32node. - U8ToI64
- The
__u8_to_i64node. - U8To
Json - The
__u8_to_jsonnode. - U8To
String - The
__u8_to_stringnode. - U8ToU16
- The
__u8_to_u16node. - U8ToU32
- The
__u8_to_u32node. - U8ToU64
- The
__u8_to_u64node. - U16To
Bool - The
__u16_to_boolnode. - U16To
Bytes - The
__u16_to_bytesnode. - U16To
F32 - The
__u16_to_f32node. - U16To
F64 - The
__u16_to_f64node. - U16To
I32 - The
__u16_to_i32node. - U16To
I64 - The
__u16_to_i64node. - U16To
Json - The
__u16_to_jsonnode. - U16To
String - The
__u16_to_stringnode. - U16ToU8
- The
__u16_to_u8node. - U16To
U32 - The
__u16_to_u32node. - U16To
U64 - The
__u16_to_u64node. - U32ToU8
- The
__u32_to_u8node. - U32To
U16 - The
__u32_to_u16node. - U64To
F16 - The
__u64_to_f16node. - U64ToI8
- The
__u64_to_i8node. - U64To
I16 - The
__u64_to_i16node. - U64ToU8
- The
__u64_to_u8node. - U64To
U16 - The
__u64_to_u16node.