pub struct FibQuantProfileV1 {Show 20 fields
pub schema_version: String,
pub ambient_dim: u32,
pub block_dim: u32,
pub codebook_size: u32,
pub paper_rate_bits_per_coord: f64,
pub wire_index_bits: u8,
pub wire_bits_per_coord: f64,
pub norm_format: NormFormat,
pub rotation_seed: u64,
pub rotation_algorithm_version: String,
pub codebook_seed: u64,
pub codebook_version: String,
pub source_mode: SourceMode,
pub radius_method: RadiusMethod,
pub direction_method: DirectionMethod,
pub lloyd_restarts: u32,
pub lloyd_iterations: u32,
pub training_samples: u32,
pub empty_cell_policy: EmptyCellPolicy,
pub lloyd_mode: LloydMode,
}Expand description
Stable profile for paper-faithful FibQuant codebooks and payloads.
Fields§
§schema_version: StringStable schema marker.
ambient_dim: u32Ambient vector dimension d.
block_dim: u32Block dimension k.
codebook_size: u32Codebook size N.
paper_rate_bits_per_coord: f64Paper dense rate log2(N) / k.
wire_index_bits: u8Practical fixed-rate index width ceil(log2(N)).
wire_bits_per_coord: f64Practical wire rate wire_index_bits / k.
norm_format: NormFormatNorm header format.
rotation_seed: u64Seed for ambient rotation.
rotation_algorithm_version: StringRotation generation algorithm identity.
codebook_seed: u64Seed for codebook construction and Lloyd training.
codebook_version: StringCodebook algorithm/version string.
source_mode: SourceModeTraining source mode.
radius_method: RadiusMethodRadius method.
direction_method: DirectionMethodDirection method.
lloyd_restarts: u32Number of Lloyd restarts.
lloyd_iterations: u32Number of Lloyd iterations per restart.
training_samples: u32Number of training samples.
empty_cell_policy: EmptyCellPolicyEmpty-cell repair policy.
lloyd_mode: LloydModeLloyd-Max refinement mode: Refine (paper path) or Skip (fast path).
Implementations§
Source§impl FibQuantProfileV1
impl FibQuantProfileV1
Sourcepub fn paper_default(
ambient_dim: usize,
block_dim: usize,
codebook_size: usize,
seed: u64,
) -> Result<Self>
pub fn paper_default( ambient_dim: usize, block_dim: usize, codebook_size: usize, seed: u64, ) -> Result<Self>
Build a validated paper profile with method choices derived from k.
Sourcepub fn block_count(&self) -> u32
pub fn block_count(&self) -> u32
Number of k-blocks per vector.
Trait Implementations§
Source§impl Clone for FibQuantProfileV1
impl Clone for FibQuantProfileV1
Source§fn clone(&self) -> FibQuantProfileV1
fn clone(&self) -> FibQuantProfileV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl CodecProfile for FibQuantProfileV1
impl CodecProfile for FibQuantProfileV1
Source§impl Debug for FibQuantProfileV1
impl Debug for FibQuantProfileV1
Source§impl<'de> Deserialize<'de> for FibQuantProfileV1
impl<'de> Deserialize<'de> for FibQuantProfileV1
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for FibQuantProfileV1
impl PartialEq for FibQuantProfileV1
Source§fn eq(&self, other: &FibQuantProfileV1) -> bool
fn eq(&self, other: &FibQuantProfileV1) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FibQuantProfileV1
impl Serialize for FibQuantProfileV1
impl StructuralPartialEq for FibQuantProfileV1
Auto Trait Implementations§
impl Freeze for FibQuantProfileV1
impl RefUnwindSafe for FibQuantProfileV1
impl Send for FibQuantProfileV1
impl Sync for FibQuantProfileV1
impl Unpin for FibQuantProfileV1
impl UnsafeUnpin for FibQuantProfileV1
impl UnwindSafe for FibQuantProfileV1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.