Crate p_chan

Crate p_chan 

Source
Expand description

Multimedia (Audio, Raster) Channel Newtypes and Conversions

The unsigned and signed modules are enabled by features with the same name.

The types provided by the unsigned and signed module are Ch8, Ch12, Ch16, Ch24 for integers, and Ch32 and Ch64 for floating-point.

Math operations on integer channels won’t exceed the range of their minimum and maximum values, while math on floating-point channels can. Math operations on floating-point channels will only result in normal numbers or ±infinity. Floating-point channels implement Eq and Ord since NaN is always flushed to zero.

Channels support casting with the bytemuck crate, after which integer channels may contain out of range values and floating-point channels could contain NaN or denormals. To flush denormals and NaN to zero and clamp integer ranges you can use ops::Difference::sub() on each channel value.

Re-exports§

pub use bytemuck;

Modules§

convert
Low-level float / integer channel conversions
downscale
Low-level integer channel upscaling conversions
ops
Constant “trait” operations
signed
Signed channel newtypes
unsigned
Unsigned channel newtypes
upscale
Low-level integer channel upscaling conversions

Macros§

channel
Declare a newtype channel wrapper.
group
Declare a channel group type.