pub struct AsinhCodec {
pub linear_width: f64,
pub version: StaticCodecVersion<1, 0, 0>,
}
Expand description
Asinh codec, which applies a quasi-logarithmic transformation on encoding.
For values close to zero that are within the codec’s linear_width
, the
transform is close to linear. For values of larger magnitudes, the
transform is asymptotically logarithmic. Unlike a logarithmic transform,
this codec supports all finite values, including negative values and zero.
In detail, the codec calculates
$c = w \cdot \text{asinh}\left( \frac{x}{w} \right)$
on encoding and
$d = w \cdot \text{sinh}\left( \frac{c}{w} \right)$
on decoding, where $w$
is the codec’s linear_width
.
The codec only supports finite floating point numbers.
Fields§
§linear_width: f64
The width of the close-to-zero input value range where the transform is nearly linear
version: StaticCodecVersion<1, 0, 0>
The codec’s encoding format version. Do not provide this parameter explicitly.
Trait Implementations§
Source§impl Clone for AsinhCodec
impl Clone for AsinhCodec
Source§fn clone(&self) -> AsinhCodec
fn clone(&self) -> AsinhCodec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Codec for AsinhCodec
impl Codec for AsinhCodec
Source§fn encode(&self, data: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
fn encode(&self, data: AnyCowArray<'_>) -> Result<AnyArray, Self::Error>
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>
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 AsinhCodec
impl<'de> Deserialize<'de> for AsinhCodec
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 JsonSchema for AsinhCodec
impl JsonSchema for AsinhCodec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn always_inline_schema() -> bool
fn always_inline_schema() -> bool
$ref
keyword. Read moreSource§impl Serialize for AsinhCodec
impl Serialize for AsinhCodec
Source§impl StaticCodec for AsinhCodec
impl StaticCodec for AsinhCodec
Source§type Config<'de> = AsinhCodec
type Config<'de> = AsinhCodec
Source§fn from_config(config: Self::Config<'_>) -> Self
fn from_config(config: Self::Config<'_>) -> Self
config
uration.