@@ -22,7 +22,7 @@ namespace hexl {
2222
2323static void BM_FwdNTTNativeRadix2 (benchmark::State& state) { // NOLINT
2424 size_t ntt_size = state.range (0 );
25- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
25+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
2626
2727 AlignedVector64<uint64_t > input (ntt_size, 1 );
2828 NTT ntt (ntt_size, modulus);
@@ -43,7 +43,7 @@ BENCHMARK(BM_FwdNTTNativeRadix2)
4343
4444static void BM_FwdNTTNativeRadix4 (benchmark::State& state) { // NOLINT
4545 size_t ntt_size = state.range (0 );
46- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
46+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
4747
4848 AlignedVector64<uint64_t > input (ntt_size, 1 );
4949 NTT ntt (ntt_size, modulus);
@@ -67,7 +67,7 @@ BENCHMARK(BM_FwdNTTNativeRadix4)
6767static void BM_FwdNTT_AVX512IFMA (benchmark::State& state) { // NOLINT
6868 size_t ntt_size = state.range (0 );
6969 size_t modulus_bits = 49 ;
70- size_t modulus = GeneratePrimes (1 , modulus_bits, ntt_size)[0 ];
70+ size_t modulus = GeneratePrimes (1 , modulus_bits, true , ntt_size)[0 ];
7171
7272 AlignedVector64<uint64_t > input (ntt_size, 1 );
7373 NTT ntt (ntt_size, modulus);
@@ -96,7 +96,7 @@ BENCHMARK(BM_FwdNTT_AVX512IFMA)
9696static void BM_FwdNTT_AVX512IFMALazy (benchmark::State& state) { // NOLINT
9797 size_t ntt_size = state.range (0 );
9898 size_t modulus_bits = 49 ;
99- size_t modulus = GeneratePrimes (1 , modulus_bits, ntt_size)[0 ];
99+ size_t modulus = GeneratePrimes (1 , modulus_bits, true , ntt_size)[0 ];
100100
101101 AlignedVector64<uint64_t > input (ntt_size, 1 );
102102 NTT ntt (ntt_size, modulus);
@@ -132,7 +132,7 @@ static void BM_FwdNTT_AVX512DQ_32(benchmark::State& state) { // NOLINT
132132 size_t ntt_size = state.range (0 );
133133 uint64_t output_mod_factor = state.range (1 );
134134 size_t modulus_bits = 29 ;
135- size_t modulus = GeneratePrimes (1 , modulus_bits, ntt_size)[0 ];
135+ size_t modulus = GeneratePrimes (1 , modulus_bits, true , ntt_size)[0 ];
136136
137137 AlignedVector64<uint64_t > input (ntt_size, 1 );
138138 NTT ntt (ntt_size, modulus);
@@ -163,7 +163,7 @@ static void BM_FwdNTT_AVX512DQ_64(benchmark::State& state) { // NOLINT
163163 size_t ntt_size = state.range (0 );
164164 uint64_t output_mod_factor = state.range (1 );
165165 size_t modulus_bits = 55 ;
166- size_t modulus = GeneratePrimes (1 , modulus_bits, ntt_size)[0 ];
166+ size_t modulus = GeneratePrimes (1 , modulus_bits, true , ntt_size)[0 ];
167167
168168 AlignedVector64<uint64_t > input (ntt_size, 1 );
169169 NTT ntt (ntt_size, modulus);
@@ -195,7 +195,7 @@ BENCHMARK(BM_FwdNTT_AVX512DQ_64)
195195// state[0] is the degree
196196static void BM_FwdNTTInPlace (benchmark::State& state) { // NOLINT
197197 size_t ntt_size = state.range (0 );
198- size_t modulus = GeneratePrimes (1 , 61 , ntt_size)[0 ];
198+ size_t modulus = GeneratePrimes (1 , 61 , true , ntt_size)[0 ];
199199
200200 AlignedVector64<uint64_t > input (ntt_size, 1 );
201201 NTT ntt (ntt_size, modulus);
@@ -216,7 +216,7 @@ BENCHMARK(BM_FwdNTTInPlace)
216216// state[0] is the degree
217217static void BM_FwdNTTCopy (benchmark::State& state) { // NOLINT
218218 size_t ntt_size = state.range (0 );
219- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
219+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
220220
221221 AlignedVector64<uint64_t > input (ntt_size, 1 );
222222 AlignedVector64<uint64_t > output (ntt_size, 1 );
@@ -236,7 +236,7 @@ BENCHMARK(BM_FwdNTTCopy)
236236// state[0] is the degree
237237static void BM_InvNTTCopy (benchmark::State& state) { // NOLINT
238238 size_t ntt_size = state.range (0 );
239- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
239+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
240240
241241 AlignedVector64<uint64_t > input (ntt_size, 1 );
242242 AlignedVector64<uint64_t > output (ntt_size, 1 );
@@ -259,7 +259,7 @@ BENCHMARK(BM_InvNTTCopy)
259259
260260static void BM_InvNTTNativeRadix2 (benchmark::State& state) { // NOLINT
261261 size_t ntt_size = state.range (0 );
262- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
262+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
263263
264264 AlignedVector64<uint64_t > input (ntt_size, 1 );
265265 NTT ntt (ntt_size, modulus);
@@ -284,7 +284,7 @@ BENCHMARK(BM_InvNTTNativeRadix2)
284284
285285static void BM_InvNTTNativeRadix4 (benchmark::State& state) { // NOLINT
286286 size_t ntt_size = state.range (0 );
287- size_t modulus = GeneratePrimes (1 , 45 , ntt_size)[0 ];
287+ size_t modulus = GeneratePrimes (1 , 45 , true , ntt_size)[0 ];
288288
289289 AlignedVector64<uint64_t > input (ntt_size, 1 );
290290 NTT ntt (ntt_size, modulus);
@@ -311,7 +311,7 @@ BENCHMARK(BM_InvNTTNativeRadix4)
311311// state[0] is the degree
312312static void BM_InvNTT_AVX512IFMA (benchmark::State& state) { // NOLINT
313313 size_t ntt_size = state.range (0 );
314- size_t modulus = GeneratePrimes (1 , 49 , ntt_size)[0 ];
314+ size_t modulus = GeneratePrimes (1 , 49 , true , ntt_size)[0 ];
315315
316316 AlignedVector64<uint64_t > input (ntt_size, 1 );
317317 NTT ntt (ntt_size, modulus);
@@ -337,7 +337,7 @@ BENCHMARK(BM_InvNTT_AVX512IFMA)
337337// state[0] is the degree
338338static void BM_InvNTT_AVX512IFMALazy (benchmark::State& state) { // NOLINT
339339 size_t ntt_size = state.range (0 );
340- size_t modulus = GeneratePrimes (1 , 49 , ntt_size)[0 ];
340+ size_t modulus = GeneratePrimes (1 , 49 , true , ntt_size)[0 ];
341341
342342 AlignedVector64<uint64_t > input (ntt_size, 1 );
343343 NTT ntt (ntt_size, modulus);
@@ -367,7 +367,7 @@ BENCHMARK(BM_InvNTT_AVX512IFMALazy)
367367static void BM_InvNTT_AVX512DQ_32 (benchmark::State& state) { // NOLINT
368368 size_t ntt_size = state.range (0 );
369369 uint64_t output_mod_factor = state.range (1 );
370- size_t modulus = GeneratePrimes (1 , 30 , ntt_size)[0 ];
370+ size_t modulus = GeneratePrimes (1 , 30 , true , ntt_size)[0 ];
371371
372372 AlignedVector64<uint64_t > input (ntt_size, 1 );
373373 NTT ntt (ntt_size, modulus);
@@ -395,7 +395,7 @@ BENCHMARK(BM_InvNTT_AVX512DQ_32)
395395static void BM_InvNTT_AVX512DQ_64 (benchmark::State& state) { // NOLINT
396396 size_t ntt_size = state.range (0 );
397397 uint64_t output_mod_factor = state.range (1 );
398- size_t modulus = GeneratePrimes (1 , 61 , ntt_size)[0 ];
398+ size_t modulus = GeneratePrimes (1 , 61 , true , ntt_size)[0 ];
399399
400400 AlignedVector64<uint64_t > input (ntt_size, 1 );
401401 NTT ntt (ntt_size, modulus);
0 commit comments