#[repr(C)]pub struct MetricBranchDescriptor {
pub v_class: u8,
pub metric_kind: u8,
pub folded_axes: u16,
pub reserved: u32,
}Expand description
One row of the metric-completeness table: the metric used for a single
v-class and the bitmask of COORDINATE axes it folds.
folded_axes is a bitmask over super::axis_role::AXIS_ORDER indices —
bit i set means axis i participates in this branch’s distance sum. Only
COORDINATE-axis bits may be set; a SELECTOR-axis bit (0,1,2) is a divergence
the verifier rejects.
Layout: 8 bytes, no padding (u8 + u8 + u16 + u32, all naturally
aligned). POD so it embeds directly in the header.
Fields§
§v_class: u8The v class this row describes: 0, 1, 2, or 255 for the
v >= 3 catch-all.
metric_kind: u8The metric kind — see MetricKind.
folded_axes: u16Bitmask of folded COORDINATE axes (bit i = axis i in AXIS_ORDER).
reserved: u32Reserved, must be zero. Future use (e.g. per-branch scale weights).
Implementations§
Source§impl MetricBranchDescriptor
impl MetricBranchDescriptor
Sourcepub const fn folds_axis(self, i: usize) -> bool
pub const fn folds_axis(self, i: usize) -> bool
True if axis i is declared folded by this branch.
Trait Implementations§
Source§impl Clone for MetricBranchDescriptor
impl Clone for MetricBranchDescriptor
Source§fn clone(&self) -> MetricBranchDescriptor
fn clone(&self) -> MetricBranchDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MetricBranchDescriptor
impl Debug for MetricBranchDescriptor
Source§impl PartialEq for MetricBranchDescriptor
impl PartialEq for MetricBranchDescriptor
Source§fn eq(&self, other: &MetricBranchDescriptor) -> bool
fn eq(&self, other: &MetricBranchDescriptor) -> bool
self and other values to be equal, and is used by ==.impl Copy for MetricBranchDescriptor
impl Eq for MetricBranchDescriptor
impl Pod for MetricBranchDescriptor
impl StructuralPartialEq for MetricBranchDescriptor
Auto Trait Implementations§
impl Freeze for MetricBranchDescriptor
impl RefUnwindSafe for MetricBranchDescriptor
impl Send for MetricBranchDescriptor
impl Sync for MetricBranchDescriptor
impl Unpin for MetricBranchDescriptor
impl UnsafeUnpin for MetricBranchDescriptor
impl UnwindSafe for MetricBranchDescriptor
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
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
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more