File tree 4 files changed +32
-16
lines changed
4 files changed +32
-16
lines changed Original file line number Diff line number Diff line change @@ -382,8 +382,8 @@ class StateSpaceAVX :
382
382
383
383
for (uint64_t k = 0 ; k < size; ++k) {
384
384
for (unsigned j = 0 ; j < 8 ; ++j) {
385
- auto re = p[16 * k + j];
386
- auto im = p[16 * k + 8 + j];
385
+ double re = p[16 * k + j];
386
+ double im = p[16 * k + 8 + j];
387
387
norm += re * re + im * im;
388
388
}
389
389
}
@@ -396,15 +396,19 @@ class StateSpaceAVX :
396
396
397
397
for (uint64_t k = 0 ; k < size; ++k) {
398
398
for (unsigned j = 0 ; j < 8 ; ++j) {
399
- auto re = p[16 * k + j];
400
- auto im = p[16 * k + 8 + j];
399
+ double re = p[16 * k + j];
400
+ double im = p[16 * k + 8 + j];
401
401
csum += re * re + im * im;
402
402
while (rs[m] < csum && m < num_samples) {
403
403
bitstrings.emplace_back (8 * k + j);
404
404
++m;
405
405
}
406
406
}
407
407
}
408
+
409
+ for (; m < num_samples; ++m) {
410
+ bitstrings.emplace_back ((uint64_t {1 } << state.num_qubits ()) - 1 );
411
+ }
408
412
}
409
413
410
414
return bitstrings;
Original file line number Diff line number Diff line change @@ -333,8 +333,8 @@ class StateSpaceAVX512 :
333
333
334
334
for (uint64_t k = 0 ; k < size; ++k) {
335
335
for (unsigned j = 0 ; j < 16 ; ++j) {
336
- auto re = p[32 * k + j];
337
- auto im = p[32 * k + 16 + j];
336
+ double re = p[32 * k + j];
337
+ double im = p[32 * k + 16 + j];
338
338
norm += re * re + im * im;
339
339
}
340
340
}
@@ -347,15 +347,19 @@ class StateSpaceAVX512 :
347
347
348
348
for (uint64_t k = 0 ; k < size; ++k) {
349
349
for (unsigned j = 0 ; j < 16 ; ++j) {
350
- auto re = p[32 * k + j];
351
- auto im = p[32 * k + 16 + j];
350
+ double re = p[32 * k + j];
351
+ double im = p[32 * k + 16 + j];
352
352
csum += re * re + im * im;
353
353
while (rs[m] < csum && m < num_samples) {
354
354
bitstrings.emplace_back (16 * k + j);
355
355
++m;
356
356
}
357
357
}
358
358
}
359
+
360
+ for (; m < num_samples; ++m) {
361
+ bitstrings.emplace_back ((uint64_t {1 } << state.num_qubits ()) - 1 );
362
+ }
359
363
}
360
364
361
365
return bitstrings;
Original file line number Diff line number Diff line change @@ -203,8 +203,8 @@ class StateSpaceBasic :
203
203
const fp_type* p = state.get ();
204
204
205
205
for (uint64_t k = 0 ; k < size; ++k) {
206
- auto re = p[2 * k];
207
- auto im = p[2 * k + 1 ];
206
+ double re = p[2 * k];
207
+ double im = p[2 * k + 1 ];
208
208
norm += re * re + im * im;
209
209
}
210
210
@@ -215,14 +215,18 @@ class StateSpaceBasic :
215
215
bitstrings.reserve (num_samples);
216
216
217
217
for (uint64_t k = 0 ; k < size; ++k) {
218
- auto re = p[2 * k];
219
- auto im = p[2 * k + 1 ];
218
+ double re = p[2 * k];
219
+ double im = p[2 * k + 1 ];
220
220
csum += re * re + im * im;
221
221
while (rs[m] < csum && m < num_samples) {
222
222
bitstrings.emplace_back (k);
223
223
++m;
224
224
}
225
225
}
226
+
227
+ for (; m < num_samples; ++m) {
228
+ bitstrings.emplace_back ((uint64_t {1 } << state.num_qubits ()) - 1 );
229
+ }
226
230
}
227
231
228
232
return bitstrings;
Original file line number Diff line number Diff line change @@ -342,8 +342,8 @@ class StateSpaceSSE :
342
342
343
343
for (uint64_t k = 0 ; k < size; ++k) {
344
344
for (unsigned j = 0 ; j < 4 ; ++j) {
345
- auto re = p[8 * k + j];
346
- auto im = p[8 * k + 4 + j];
345
+ double re = p[8 * k + j];
346
+ double im = p[8 * k + 4 + j];
347
347
norm += re * re + im * im;
348
348
}
349
349
}
@@ -356,15 +356,19 @@ class StateSpaceSSE :
356
356
357
357
for (uint64_t k = 0 ; k < size; ++k) {
358
358
for (unsigned j = 0 ; j < 4 ; ++j) {
359
- auto re = p[8 * k + j];
360
- auto im = p[8 * k + 4 + j];
359
+ double re = p[8 * k + j];
360
+ double im = p[8 * k + 4 + j];
361
361
csum += re * re + im * im;
362
362
while (rs[m] < csum && m < num_samples) {
363
363
bitstrings.emplace_back (4 * k + j);
364
364
++m;
365
365
}
366
366
}
367
367
}
368
+
369
+ for (; m < num_samples; ++m) {
370
+ bitstrings.emplace_back ((uint64_t {1 } << state.num_qubits ()) - 1 );
371
+ }
368
372
}
369
373
370
374
return bitstrings;
You can’t perform that action at this time.
0 commit comments