Skip to main content

Module codec

Module codec 

Source
Expand description

Codec core (spec §8–§15): pure functions over crate::desc::PointDesc, no_std and allocation-free. Kept in behavioral lockstep with go/codec and moddef-ts’s codec (shared vector suite in the conformance tests).

Re-exports§

pub use decode::decode;
pub use decode::decode_bytes;
pub use decode::decode_raw;
pub use decode::decode_str;
pub use decode::Ctx;
pub use encode::encode;
pub use encode::encode_bytes;
pub use encode::encode_str;
pub use encode::validate_write;

Modules§

decode
Point decoder (spec §8–§15), allocation-free. Port of go/codec/decode.go and moddef-ts decode.ts (incl. §10.5 selector cases with transform fallback), operating on PointDesc.
encode
Point encoder (spec §10 inverse, §11.4/§11.5), allocation-free. Port of go/codec/encode.go / moddef-ts encode.ts: composed values and packed field windows stay read-oriented.

Structs§

Rat

Functions§

assemble_u64
Assemble up to the last 8 normalized bytes into a big-endian u64 (equivalent of Go’s assemble + decodeUint over the trailing window).
mask_for
words_from_u64
Split a raw big-endian integer into out registers (inverse of assemble_u64); out.len() defines the width.