Skip to main content

ntt_avx512

Function ntt_avx512 

Source
pub(super) unsafe fn ntt_avx512<M>(a: &mut [MInt<M>])
Examples found in repository?
crates/competitive/src/math/number_theoretic_transform.rs (line 257)
250fn ntt<M>(a: &mut [MInt<M>])
251where
252    M: Montgomery32NttModulus,
253{
254    #[cfg(target_arch = "x86_64")]
255    {
256        match simd_backend() {
257            SimdBackend::Avx512 => unsafe { ntt_simd::ntt_avx512::<M>(a) },
258            SimdBackend::Avx2 => unsafe { ntt_simd::ntt_avx2::<M>(a) },
259            SimdBackend::Scalar => ntt_scalar(a),
260        }
261    }
262    #[cfg(not(target_arch = "x86_64"))]
263    {
264        ntt_scalar(a);
265    }
266}