fn intt_batch_scalar<M>(a: &mut [MInt<M>], width: usize)where
M: Montgomery32NttModulus,Examples found in repository?
crates/competitive/src/math/number_theoretic_transform.rs (line 318)
314fn intt_scalar<M>(a: &mut [MInt<M>])
315where
316 M: Montgomery32NttModulus,
317{
318 intt_batch_scalar(a, 1);
319}
320
321fn intt_batch<M>(a: &mut [MInt<M>], width: usize)
322where
323 M: Montgomery32NttModulus,
324{
325 #[cfg(target_arch = "x86_64")]
326 {
327 match batch_ntt_simd_backend(a.len(), width) {
328 SimdBackend::Avx512 => {
329 // SAFETY: backend detection checked all required AVX-512 features.
330 unsafe { ntt_simd::intt_batch_avx512::<_, false>(a, width) };
331 return;
332 }
333 SimdBackend::Avx2 => {
334 // SAFETY: backend detection checked AVX2.
335 unsafe { ntt_simd::intt_batch_avx2::<_, false>(a, width) };
336 return;
337 }
338 SimdBackend::Scalar => {}
339 }
340 }
341 intt_batch_scalar(a, width);
342}