pub struct ComplexPackingParams {Show 18 fields
pub encoded_values: usize,
pub reference_value: f32,
pub binary_scale: i16,
pub decimal_scale: i16,
pub group_reference_bits: u8,
pub original_field_type: u8,
pub group_splitting_method: u8,
pub missing_value_management: u8,
pub primary_missing_substitute: u32,
pub secondary_missing_substitute: u32,
pub num_groups: usize,
pub group_width_reference: u8,
pub group_width_bits: u8,
pub group_length_reference: u32,
pub group_length_increment: u8,
pub true_length_last_group: u32,
pub scaled_group_length_bits: u8,
pub spatial_differencing: Option<SpatialDifferencingParams>,
}Expand description
Parameters for complex packing (Templates 5.2 and 5.3).
Decoders represent embedded primary and secondary missing codes as NaN.
The template’s substitute metadata is preserved separately and can be
queried with ComplexPackingParams::primary_missing_substitute and
ComplexPackingParams::secondary_missing_substitute.
Fields§
§encoded_values: usize§reference_value: f32§binary_scale: i16§decimal_scale: i16§group_reference_bits: u8§original_field_type: u8§group_splitting_method: u8§missing_value_management: u8§primary_missing_substitute: u32§secondary_missing_substitute: u32§num_groups: usize§group_width_reference: u8§group_width_bits: u8§group_length_reference: u32§group_length_increment: u8§true_length_last_group: u32§scaled_group_length_bits: u8§spatial_differencing: Option<SpatialDifferencingParams>Implementations§
Source§impl ComplexPackingParams
impl ComplexPackingParams
Sourcepub const fn primary_missing_substitute(&self) -> Option<u32>
pub const fn primary_missing_substitute(&self) -> Option<u32>
Returns the raw four-octet primary substitute when primary missing values are enabled by Code Table 5.5.
The decoder intentionally emits NaN instead of applying this value.
Callers that need producer-specific substitution can inspect
ComplexPackingParams::original_field_type and interpret this raw
Template 5.2/5.3 value accordingly.
Sourcepub const fn secondary_missing_substitute(&self) -> Option<u32>
pub const fn secondary_missing_substitute(&self) -> Option<u32>
Returns the raw four-octet secondary substitute when both primary and secondary missing values are enabled by Code Table 5.5.
The decoder intentionally emits NaN instead of applying this value.
Callers that need producer-specific substitution can inspect
ComplexPackingParams::original_field_type and interpret this raw
Template 5.2/5.3 value accordingly.
Trait Implementations§
Source§impl Clone for ComplexPackingParams
impl Clone for ComplexPackingParams
Source§fn clone(&self) -> ComplexPackingParams
fn clone(&self) -> ComplexPackingParams
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 ComplexPackingParams
impl Debug for ComplexPackingParams
Source§impl PartialEq for ComplexPackingParams
impl PartialEq for ComplexPackingParams
impl StructuralPartialEq for ComplexPackingParams
Auto Trait Implementations§
impl Freeze for ComplexPackingParams
impl RefUnwindSafe for ComplexPackingParams
impl Send for ComplexPackingParams
impl Sync for ComplexPackingParams
impl Unpin for ComplexPackingParams
impl UnsafeUnpin for ComplexPackingParams
impl UnwindSafe for ComplexPackingParams
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,
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