@@ -22,7 +22,7 @@ namespace hexl {
22
22
23
23
static void BM_FwdNTTNativeRadix2 (benchmark::State& state) { // NOLINT
24
24
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 ];
26
26
27
27
AlignedVector64<uint64_t > input (ntt_size, 1 );
28
28
NTT ntt (ntt_size, modulus);
@@ -43,7 +43,7 @@ BENCHMARK(BM_FwdNTTNativeRadix2)
43
43
44
44
static void BM_FwdNTTNativeRadix4 (benchmark::State& state) { // NOLINT
45
45
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 ];
47
47
48
48
AlignedVector64<uint64_t > input (ntt_size, 1 );
49
49
NTT ntt (ntt_size, modulus);
@@ -67,7 +67,7 @@ BENCHMARK(BM_FwdNTTNativeRadix4)
67
67
static void BM_FwdNTT_AVX512IFMA (benchmark::State& state) { // NOLINT
68
68
size_t ntt_size = state.range (0 );
69
69
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 ];
71
71
72
72
AlignedVector64<uint64_t > input (ntt_size, 1 );
73
73
NTT ntt (ntt_size, modulus);
@@ -96,7 +96,7 @@ BENCHMARK(BM_FwdNTT_AVX512IFMA)
96
96
static void BM_FwdNTT_AVX512IFMALazy (benchmark::State& state) { // NOLINT
97
97
size_t ntt_size = state.range (0 );
98
98
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 ];
100
100
101
101
AlignedVector64<uint64_t > input (ntt_size, 1 );
102
102
NTT ntt (ntt_size, modulus);
@@ -132,7 +132,7 @@ static void BM_FwdNTT_AVX512DQ_32(benchmark::State& state) { // NOLINT
132
132
size_t ntt_size = state.range (0 );
133
133
uint64_t output_mod_factor = state.range (1 );
134
134
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 ];
136
136
137
137
AlignedVector64<uint64_t > input (ntt_size, 1 );
138
138
NTT ntt (ntt_size, modulus);
@@ -163,7 +163,7 @@ static void BM_FwdNTT_AVX512DQ_64(benchmark::State& state) { // NOLINT
163
163
size_t ntt_size = state.range (0 );
164
164
uint64_t output_mod_factor = state.range (1 );
165
165
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 ];
167
167
168
168
AlignedVector64<uint64_t > input (ntt_size, 1 );
169
169
NTT ntt (ntt_size, modulus);
@@ -195,7 +195,7 @@ BENCHMARK(BM_FwdNTT_AVX512DQ_64)
195
195
// state[0] is the degree
196
196
static void BM_FwdNTTInPlace (benchmark::State& state) { // NOLINT
197
197
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 ];
199
199
200
200
AlignedVector64<uint64_t > input (ntt_size, 1 );
201
201
NTT ntt (ntt_size, modulus);
@@ -216,7 +216,7 @@ BENCHMARK(BM_FwdNTTInPlace)
216
216
// state[0] is the degree
217
217
static void BM_FwdNTTCopy (benchmark::State& state) { // NOLINT
218
218
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 ];
220
220
221
221
AlignedVector64<uint64_t > input (ntt_size, 1 );
222
222
AlignedVector64<uint64_t > output (ntt_size, 1 );
@@ -236,7 +236,7 @@ BENCHMARK(BM_FwdNTTCopy)
236
236
// state[0] is the degree
237
237
static void BM_InvNTTCopy (benchmark::State& state) { // NOLINT
238
238
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 ];
240
240
241
241
AlignedVector64<uint64_t > input (ntt_size, 1 );
242
242
AlignedVector64<uint64_t > output (ntt_size, 1 );
@@ -259,7 +259,7 @@ BENCHMARK(BM_InvNTTCopy)
259
259
260
260
static void BM_InvNTTNativeRadix2 (benchmark::State& state) { // NOLINT
261
261
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 ];
263
263
264
264
AlignedVector64<uint64_t > input (ntt_size, 1 );
265
265
NTT ntt (ntt_size, modulus);
@@ -284,7 +284,7 @@ BENCHMARK(BM_InvNTTNativeRadix2)
284
284
285
285
static void BM_InvNTTNativeRadix4 (benchmark::State& state) { // NOLINT
286
286
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 ];
288
288
289
289
AlignedVector64<uint64_t > input (ntt_size, 1 );
290
290
NTT ntt (ntt_size, modulus);
@@ -311,7 +311,7 @@ BENCHMARK(BM_InvNTTNativeRadix4)
311
311
// state[0] is the degree
312
312
static void BM_InvNTT_AVX512IFMA (benchmark::State& state) { // NOLINT
313
313
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 ];
315
315
316
316
AlignedVector64<uint64_t > input (ntt_size, 1 );
317
317
NTT ntt (ntt_size, modulus);
@@ -337,7 +337,7 @@ BENCHMARK(BM_InvNTT_AVX512IFMA)
337
337
// state[0] is the degree
338
338
static void BM_InvNTT_AVX512IFMALazy (benchmark::State& state) { // NOLINT
339
339
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 ];
341
341
342
342
AlignedVector64<uint64_t > input (ntt_size, 1 );
343
343
NTT ntt (ntt_size, modulus);
@@ -367,7 +367,7 @@ BENCHMARK(BM_InvNTT_AVX512IFMALazy)
367
367
static void BM_InvNTT_AVX512DQ_32 (benchmark::State& state) { // NOLINT
368
368
size_t ntt_size = state.range (0 );
369
369
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 ];
371
371
372
372
AlignedVector64<uint64_t > input (ntt_size, 1 );
373
373
NTT ntt (ntt_size, modulus);
@@ -395,7 +395,7 @@ BENCHMARK(BM_InvNTT_AVX512DQ_32)
395
395
static void BM_InvNTT_AVX512DQ_64 (benchmark::State& state) { // NOLINT
396
396
size_t ntt_size = state.range (0 );
397
397
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 ];
399
399
400
400
AlignedVector64<uint64_t > input (ntt_size, 1 );
401
401
NTT ntt (ntt_size, modulus);
0 commit comments