pub struct BitRoundCodec {
pub keepbits: u8,
}
Expand description
Codec providing floating-point bit rounding.
Drops the specified number of bits from the floating point mantissa, leaving an array that is more amenable to compression. The number of bits to keep should be determined by information analysis of the data to be compressed.
The approach is based on the paper by Klöwer et al. 2021 (https://www.nature.com/articles/s43588-021-00156-2).
Fields§
§keepbits: u8
The number of bits of the mantissa to keep.
The valid range depends on the dtype of the input data.
If keepbits is equal to the bitlength of the dtype’s mantissa, no transformation is performed.
Trait Implementations§
Source§impl Clone for BitRoundCodec
impl Clone for BitRoundCodec
Source§fn clone(&self) -> BitRoundCodec
fn clone(&self) -> BitRoundCodec
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Codec for BitRoundCodec
impl Codec for BitRoundCodec
Source§type Error = BitRoundCodecError
type Error = BitRoundCodecError
Source§fn encode(&self, data: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
fn encode(&self, data: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
Encodes the
data
and returns the result. Read moreSource§fn decode(&self, encoded: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
fn decode(&self, encoded: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
Decodes the
encoded
data and returns the result. Read moreSource§fn decode_into(
&self,
encoded: AnyArrayView<'_>,
decoded: AnyArrayViewMut<'_>,
) -> Result<(), Self::Error>
fn decode_into( &self, encoded: AnyArrayView<'_>, decoded: AnyArrayViewMut<'_>, ) -> Result<(), Self::Error>
Source§impl<'de> Deserialize<'de> for BitRoundCodec
impl<'de> Deserialize<'de> for BitRoundCodec
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for BitRoundCodec
impl JsonSchema for BitRoundCodec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn always_inline_schema() -> bool
fn always_inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref
keyword. Read moreSource§impl Serialize for BitRoundCodec
impl Serialize for BitRoundCodec
Source§impl StaticCodec for BitRoundCodec
impl StaticCodec for BitRoundCodec
Source§type Config<'de> = BitRoundCodec
type Config<'de> = BitRoundCodec
Configuration type, from which the codec can be created infallibly. Read more
Source§fn from_config(config: Self::Config<'_>) -> Self
fn from_config(config: Self::Config<'_>) -> Self
Instantiate a codec from its
config
uration.Source§fn get_config(&self) -> StaticCodecConfig<'_, Self>
fn get_config(&self) -> StaticCodecConfig<'_, Self>
Get the configuration for this codec. Read more
Auto Trait Implementations§
impl Freeze for BitRoundCodec
impl RefUnwindSafe for BitRoundCodec
impl Send for BitRoundCodec
impl Sync for BitRoundCodec
impl Unpin for BitRoundCodec
impl UnwindSafe for BitRoundCodec
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> DynCodec for Twhere
T: StaticCodec,
impl<T> DynCodec for Twhere
T: StaticCodec,
Source§type Type = StaticCodecType<T>
type Type = StaticCodecType<T>
Type object type for this codec.
Source§fn get_config<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn get_config<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serializes the configuration parameters for this codec. Read more