use crate::FieldExt; pub fn gen_config(num_cols: usize) -> Vec { assert!(num_cols.is_power_of_two()); let expansion_factor = 2; let codeword_len = num_cols * expansion_factor; let domain_generator = F::ROOT_OF_UNITY.pow(&[ 2u32.pow(32 - ((codeword_len as f64).log2() as u32)) as u64, 0, 0, 0, ]); // Compute the FFT domain let mut fft_domain = Vec::with_capacity(codeword_len); fft_domain.push(F::ONE); for i in 0..(codeword_len - 1) { fft_domain.push(fft_domain[i] * domain_generator); } fft_domain }