transforms
ptwm_core::transforms::nibble_split
NibbleSplit op — split each input byte into high-nibble (exponent) and low-nibble (sign+mantissa) planes.
ptwm_core::transforms::nibble_split
NibbleSplit op — split each input byte into high-nibble (exponent) and low-nibble (sign+mantissa) planes.
ptwm_core::transforms::nibble_split
crates/ptwm-core/src/transforms/nibble_split.rs:1mod nibble_split`NibbleSplit` op — split each input byte into high-nibble (exponent) and low-nibble (sign+mantissa) planes.
This matches the FP8 nibble-split algorithm in `split/dtype8.rs` (modes
20/22): each byte `[HHHH LLLL]` produces two one-nibble-per-byte slots:
plane 0 = high nibble `(b >> 4) & 0x0F`, plane 1 = low nibble `b & 0x0F`.
Both output planes have `ElementWidth::Nibble` and `length_bytes == input.length_bytes`
(one nibble stored per byte slot; the `element_width` flag signals the codec).
ptwm_core::transforms::nibble_split::NibbleSplit
crates/ptwm-core/src/transforms/nibble_split.rs:22pub struct NibbleSplit;Split each byte into its high nibble (exponent) and low nibble (sign+mantissa), producing two planes of `length_bytes == input.length_bytes`.
No parameters; the split is fixed at 4-bit granularity.