[][src]Function rug_fft::naive_ntt

pub fn naive_ntt(xs: &mut [Integer], p: &Integer, w: &Integer)

Computes, for i in 0..n, sum_{j=0}^{n-1} w^{ij}*x_j, modulo p.

Example

use rug::Integer;
use rug_fft::naive_ntt;

let mut xs = vec![1, 4]
    .into_iter()
    .map(Integer::from)
    .collect::<Vec<_>>();
let p = Integer::from(7);
let w = Integer::from(6);
naive_ntt(&mut xs, &p, &w);
let xs_ex = vec![5, 4]
    .into_iter()
    .map(Integer::from)
    .collect::<Vec<_>>();
assert_eq!(xs, xs_ex);