const ZETA_POW_BITREV: [Elem<BaseField>; 128];Expand description
Since the powers of zeta used in the NTT and MultiplyNTTs are fixed, we use pre-computed
tables to avoid the need to compute the exponentiations at runtime.
ZETA_POW_BITREV[i] = zeta^{BitRev_7(i)}GAMMA[i] = zeta^{2 BitRev_7(i) + 1}
Note that the const environment here imposes some annoying conditions. Because operator
overloading can’t be const, we have to do all the reductions here manually. Because for loops
are forbidden in const functions, we do them manually with while loops.
The values computed here match those provided in Appendix A of FIPS 203.
ZETA_POW_BITREV corresponds to the first table, and GAMMA to the second table.