conformal_component::audio

Function buffer_approx_eq

Source
pub fn buffer_approx_eq<A: Buffer, B: Buffer>(a: &A, b: &B, e: f32) -> bool
Expand description

Checks two buffers are equal to within a tolerance e.

Note that buffers will only count as equal if they have the same channel layout and length, and if all samples are within e of each other.

ยงExamples

assert!(buffer_approx_eq(
  &BufferData::new_mono(vec![1.0, 2.0, 3.0]),
  &BufferData::new_mono(vec![1.01, 2.01, 3.01]),
  0.1));
assert!(!buffer_approx_eq(
  &BufferData::new_mono(vec![1.0, 2.0, 3.0]),
  &BufferData::new_mono(vec![1.01, 2.2, 3.01]),
  0.1));
assert!(!buffer_approx_eq(
  &BufferData::new_mono(vec![1.0, 2.0, 3.0]),
  &BufferData::new_mono(vec![1.0, 2.0]),
  0.1));
assert!(!buffer_approx_eq(
  &BufferData::new_stereo(vec![1.0, 2.0], vec![3.0, 4.0]),
  &BufferData::new_mono(vec![1.0, 2.0, 3.0, 4.0]),
  0.1));