pub unsafe trait Sample: Copy {
const ZERO: Self;
}
Expand description
A sample that can be stored in an audio buffer. Types implementing this are known as being sample apt.
Sample apt types have the following gurantees:
- The type does not need to be dropped (by implementing Copy).
- The type can safely be initialized with the all-zeros bit pattern.
Safety
Implementor must make sure that a bit-pattern of all-zeros is a legal bit-pattern for the implemented type.
Required Associated Constants§
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl Sample for f32
impl Sample for f32
The bit-pattern of all zeros is a legal bit-pattern for floats.
See for example: https://doc.rust-lang.org/std/primitive.f32.html#method.to_bits.
Proof:
use audio::Sample;
assert_eq!((f64::ZERO).to_bits(), 0u64);
source§impl Sample for f64
impl Sample for f64
The bit-pattern of all zeros is a legal bit-pattern for floats.
See for example: https://doc.rust-lang.org/std/primitive.f64.html#method.to_bits.
Proof:
use audio::Sample;
assert_eq!((f64::ZERO).to_bits(), 0u64);