numcodecs_bit_round

Struct BitRoundCodec

Source
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

Source§

fn clone(&self) -> BitRoundCodec

Returns a copy 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 Codec for BitRoundCodec

Source§

type Error = BitRoundCodecError

Error type that may be returned during encodeing and decodeing.
Source§

fn encode(&self, data: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>

Encodes the data and returns the result. Read more
Source§

fn decode(&self, encoded: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>

Decodes the encoded data and returns the result. Read more
Source§

fn decode_into( &self, encoded: AnyArrayView<'_>, decoded: AnyArrayViewMut<'_>, ) -> Result<(), Self::Error>

Decodes the encoded data and writes the result into the provided decoded output. Read more
Source§

impl<'de> Deserialize<'de> for BitRoundCodec

Source§

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

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

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

Generates a JSON Schema for this type. Read more
§

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 more
Source§

impl Serialize for BitRoundCodec

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StaticCodec for BitRoundCodec

Source§

const CODEC_ID: &'static str = "bit-round"

Codec identifier.
Source§

type Config<'de> = BitRoundCodec

Configuration type, from which the codec can be created infallibly. Read more
Source§

fn from_config(config: Self::Config<'_>) -> Self

Instantiate a codec from its configuration.
Source§

fn get_config(&self) -> StaticCodecConfig<'_, Self>

Get the configuration for this codec. Read more

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, dst: *mut T)

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

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> DynCodec for T
where T: StaticCodec,

Source§

type Type = StaticCodecType<T>

Type object type for this codec.
Source§

fn ty(&self) -> <T as DynCodec>::Type

Returns the type object for this codec.
Source§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,