fn computeInvZetas() [N]u32
fn computeInvZetas() [N]u32 { @setEvalBranchQuota(100000); var ret: [N]u32 = undefined; const inv_zeta = modularInverse(u32, ZETA, Q); for (0..N) |i| { const idx = 255 - i; const brv_idx = @bitReverse(@as(u8, @intCast(idx))); // Exponent is -(brv_idx - 256) = 256 - brv_idx const exp: u32 = @as(u32, 256) - brv_idx; // Compute inv_zeta^exp const power = modularPow(u32, inv_zeta, exp, Q); // Convert to Montgomery form ret[i] = toMont(power); } return ret; }