unsafe fn fft_avx512<const INVERSE: bool>(
a: &mut [Complex<f64>],
cache: &[Complex<f64>],
)Examples found in repository?
crates/competitive/src/math/fast_fourier_transform.rs (line 630)
623fn fft_dispatch<const INVERSE: bool>(a: &mut [Complex<f64>]) {
624 RotateCache::ensure(a.len() / 2);
625 RotateCache::with(|cache| {
626 #[cfg(target_arch = "x86_64")]
627 if a.len() >= 16 {
628 match simd_backend() {
629 SimdBackend::Avx512 => {
630 return unsafe { fft_avx512::<INVERSE>(a, cache) };
631 }
632 SimdBackend::Avx2 => return unsafe { fft_avx2::<INVERSE>(a, cache) },
633 SimdBackend::Scalar => {}
634 }
635 }
636 fft_kernel!(a, cache, INVERSE);
637 });
638}