in math/src/fft/tests.rs [18:58]
fn fft_in_place() {
// degree 3
let n = 4;
let mut p = rand_vector(n);
let domain = build_domain(n);
let expected = polynom::eval_many(&p, &domain);
let twiddles = super::get_twiddles::<BaseElement>(n);
super::serial::fft_in_place(&mut p, &twiddles, 1, 1, 0);
super::permute(&mut p);
assert_eq!(expected, p);
// degree 7
let n = 8;
let mut p = rand_vector(n);
let domain = build_domain(n);
let twiddles = super::get_twiddles::<BaseElement>(n);
let expected = polynom::eval_many(&p, &domain);
super::serial::fft_in_place(&mut p, &twiddles, 1, 1, 0);
super::permute(&mut p);
assert_eq!(expected, p);
// degree 15
let n = 16;
let mut p = rand_vector(n);
let domain = build_domain(n);
let twiddles = super::get_twiddles::<BaseElement>(16);
let expected = polynom::eval_many(&p, &domain);
super::serial::fft_in_place(&mut p, &twiddles, 1, 1, 0);
super::permute(&mut p);
assert_eq!(expected, p);
// degree 1023
let n = 1024;
let mut p = rand_vector(n);
let domain = build_domain(n);
let expected = polynom::eval_many(&p, &domain);
let twiddles = super::get_twiddles::<BaseElement>(n);
super::serial::fft_in_place(&mut p, &twiddles, 1, 1, 0);
super::permute(&mut p);
assert_eq!(expected, p);
}