#[cfg(test)]
mod tests {
use approx::assert_relative_eq;
use scirs2_fft::{fft, fft_simd, simd_support_available};
#[test]
fn test_simd_fft_basic() {
if !simd_support_available() {
println!("SIMD support not available, skipping test");
return;
}
let signal: Vec<f64> = vec![1.0, 2.0, 3.0, 4.0];
let standard_result = fft(&signal, None).expect("Operation failed");
let simd_result = fft_simd(&signal, None).expect("Operation failed");
assert_eq!(standard_result.len(), simd_result.len());
for i in 0..standard_result.len() {
assert_relative_eq!(standard_result[i].re, simd_result[i].re, epsilon = 1e-10);
assert_relative_eq!(standard_result[i].im, simd_result[i].im, epsilon = 1e-10);
}
}
#[test]
fn test_simd_detection() {
let _ = simd_support_available();
}
}