decl a: ubit<32>[32]; decl prime: ubit<32>[1]; decl omegas: ubit<32>[32]; decl a_ntt: ubit<32>[32]; // Output array. let q = prime[0]; --- for (let i: ubit<6> = 0..32) { for (let j: ubit<6> = 0..32) { let oidx: ubit<6> = ((i * j) as ubit<6>) % 32; a_ntt[i] := (a_ntt[i] + a[j] * omegas[oidx]) % q; } }