Module dasp_sample::conv
source · Expand description
Pure functions and traits for converting between i8, i16, I24, i32, I48, i64, u8, u16, U24, u32, U48, u64, f32 and f64.
Each conversion function is performance focused, memory-sensitive and expects that the user has validated their input prior to the function call.
No conversion function will ever cast to a type with a size in bytes larger than the largest between the source and target sample types.
The conversion functions do not check the range of incoming values for floating point values
or any of the custom I24
, U24
, I48
and U48
types.
Note that floating point conversions use the range -1.0 <= v < 1.0:
(1.0 as f64).to_sample::<i16>()
will overflow!
Modules
Traits
- Sample types which may be converted to and from some type
S
. - Similar to the std
From
trait, but specifically for converting between sample types. - Similar to the std
Into
trait, but specifically for converting between sample types.