ExpertRecordHeader

Struct ExpertRecordHeader 

Source
pub struct ExpertRecordHeader {
    pub layer: u32,
    pub expert: u32,
    pub inter: u32,
    pub hidden: u32,
    pub group_size: u32,
    pub scale2: [f32; 3],
    pub input_scale: [Option<f32>; 3],
}
Expand description

2026-09-25: The fixed, versioned header at the front of every expert record. It carries what the dims do not give, each projection’s weight_scale_2 and input_scale, plus layer, expert and shape so a mismatched file can be recognised.

Fields§

§layer: u32§expert: u32§inter: u32§hidden: u32§group_size: u32§scale2: [f32; 3]

2026-09-25: weight_scale_2 of gate, up, down.

§input_scale: [Option<f32>; 3]

2026-09-25: input_scale of gate, up, down; None when the projection has none. Presence is a bit in the header’s input_scale_flags word, so PartialEq needs no NaN sentinel.

Implementations§

Source§

impl ExpertRecordHeader

Source

pub const MAGIC: u32 = 0x5850_5254

Source

pub const VERSION: u32 = 1

Source

pub const BYTES: u64 = 256

2026-09-25: Reserved header size; the fields use the first 56 bytes, so the header can grow without moving the sub-buffers.

Source

pub fn to_bytes(&self) -> [u8; 256]

2026-09-25: Serialize into the fixed 256-byte header block, little-endian: u32 magic, u32 version, u32 layer, u32 expert, u32 inter, u32 hidden, u32 group_size, u32 input_scale_flags, f32 scale2[3], f32 input_scale[3] (0.0 where absent), zero pad to 256. input_scale_flags bit i set => projection i has an activation scale.

Source

pub fn from_bytes(buf: &[u8]) -> Option<Self>

2026-09-25: Parse a header block. None when it is shorter than BYTES or the magic or version differs.

Trait Implementations§

Source§

impl Clone for ExpertRecordHeader

Source§

fn clone(&self) -> ExpertRecordHeader

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExpertRecordHeader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ExpertRecordHeader

Source§

fn eq(&self, other: &ExpertRecordHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ExpertRecordHeader

Source§

impl StructuralPartialEq for ExpertRecordHeader

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,