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));