pyqrack-cpu 1.44.7__py3-none-win_amd64.whl → 1.44.9__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyqrack-cpu might be problematic. Click here for more details.

@@ -23,14 +23,18 @@ from sys import platform as _platform
23
23
  class QrackSystem:
24
24
  def __init__(self):
25
25
  shared_lib_path = ""
26
- if os.environ.get('PYQRACK_SHARED_LIB_PATH') != None:
27
- shared_lib_path = os.environ.get('PYQRACK_SHARED_LIB_PATH')
26
+ if os.environ.get("PYQRACK_SHARED_LIB_PATH") != None:
27
+ shared_lib_path = os.environ.get("PYQRACK_SHARED_LIB_PATH")
28
28
  elif _platform == "win32":
29
29
  shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/qrack_pinvoke.dll"
30
30
  elif _platform == "darwin":
31
- shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.dylib"
31
+ shared_lib_path = (
32
+ os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.dylib"
33
+ )
32
34
  else:
33
- shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.so"
35
+ shared_lib_path = (
36
+ os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.so"
37
+ )
34
38
 
35
39
  try:
36
40
  self.qrack_lib = CDLL(shared_lib_path)
@@ -46,7 +50,9 @@ class QrackSystem:
46
50
  self.qrack_lib = CDLL(shared_lib_path)
47
51
  except Exception as e:
48
52
  if _platform == "win32":
49
- shared_lib_path = "C:/Program Files (x86)/Qrack/bin/qrack_pinvoke.dll"
53
+ shared_lib_path = (
54
+ "C:/Program Files (x86)/Qrack/bin/qrack_pinvoke.dll"
55
+ )
50
56
  elif _platform == "darwin":
51
57
  shared_lib_path = "/usr/lib/qrack/libqrack_pinvoke.dylib"
52
58
  else:
@@ -55,12 +61,14 @@ class QrackSystem:
55
61
  try:
56
62
  self.qrack_lib = CDLL(shared_lib_path)
57
63
  except Exception as e:
58
- print("IMPORTANT: Did you remember to install OpenCL, if your Qrack version was built with OpenCL?")
64
+ print(
65
+ "IMPORTANT: Did you remember to install OpenCL, if your Qrack version was built with OpenCL?"
66
+ )
59
67
  raise e
60
68
 
61
69
  self.fppow = 5
62
70
  if "QRACK_FPPOW" in os.environ:
63
- self.fppow = int(os.environ.get('QRACK_FPPOW'))
71
+ self.fppow = int(os.environ.get("QRACK_FPPOW"))
64
72
  if self.fppow < 4 or self.fppow > 7:
65
73
  raise ValueError(
66
74
  "QRACK_FPPOW environment variable must be an integer >3 and <8. (Qrack builds from 4 for fp16/half, up to 7 for fp128/quad."
@@ -76,7 +84,7 @@ class QrackSystem:
76
84
  self.qrack_lib.Dump.restype = None
77
85
  self.qrack_lib.Dump.argtypes = [
78
86
  c_ulonglong,
79
- CFUNCTYPE(c_ulonglong, c_double, c_double)
87
+ CFUNCTYPE(c_ulonglong, c_double, c_double),
80
88
  ]
81
89
 
82
90
  # These next two methods need to have c_double pointers, if PyQrack is built with fp64.
@@ -117,7 +125,7 @@ class QrackSystem:
117
125
  c_bool,
118
126
  c_bool,
119
127
  c_bool,
120
- c_bool
128
+ c_bool,
121
129
  ]
122
130
 
123
131
  self.qrack_lib.init_count_stabilizer.restype = c_ulonglong
@@ -143,14 +151,14 @@ class QrackSystem:
143
151
  c_ulonglong,
144
152
  c_ulonglong,
145
153
  POINTER(c_ulonglong),
146
- POINTER(c_float)
154
+ POINTER(c_float),
147
155
  ]
148
156
  elif self.fppow == 6:
149
157
  self.qrack_lib.ProbAll.argtypes = [
150
158
  c_ulonglong,
151
159
  c_ulonglong,
152
160
  POINTER(c_ulonglong),
153
- POINTER(c_double)
161
+ POINTER(c_double),
154
162
  ]
155
163
 
156
164
  self.qrack_lib.Prob.restype = c_double
@@ -164,7 +172,7 @@ class QrackSystem:
164
172
  c_ulonglong,
165
173
  c_ulonglong,
166
174
  POINTER(c_ulonglong),
167
- POINTER(c_bool)
175
+ POINTER(c_bool),
168
176
  ]
169
177
 
170
178
  self.qrack_lib.PermutationProbRdm.restype = c_double
@@ -173,14 +181,14 @@ class QrackSystem:
173
181
  c_ulonglong,
174
182
  POINTER(c_ulonglong),
175
183
  POINTER(c_bool),
176
- c_bool
184
+ c_bool,
177
185
  ]
178
186
 
179
187
  self.qrack_lib.PermutationExpectation.restype = c_double
180
188
  self.qrack_lib.PermutationExpectation.argtypes = [
181
189
  c_ulonglong,
182
190
  c_ulonglong,
183
- POINTER(c_ulonglong)
191
+ POINTER(c_ulonglong),
184
192
  ]
185
193
 
186
194
  self.qrack_lib.PermutationExpectationRdm.restype = c_double
@@ -188,7 +196,7 @@ class QrackSystem:
188
196
  c_ulonglong,
189
197
  c_ulonglong,
190
198
  POINTER(c_ulonglong),
191
- c_bool
199
+ c_bool,
192
200
  ]
193
201
 
194
202
  self.qrack_lib.FactorizedExpectation.restype = c_double
@@ -197,7 +205,7 @@ class QrackSystem:
197
205
  c_ulonglong,
198
206
  POINTER(c_ulonglong),
199
207
  c_ulonglong,
200
- POINTER(c_ulonglong)
208
+ POINTER(c_ulonglong),
201
209
  ]
202
210
 
203
211
  self.qrack_lib.FactorizedExpectationRdm.restype = c_double
@@ -207,7 +215,7 @@ class QrackSystem:
207
215
  POINTER(c_ulonglong),
208
216
  c_ulonglong,
209
217
  POINTER(c_ulonglong),
210
- c_bool
218
+ c_bool,
211
219
  ]
212
220
 
213
221
  if self.fppow == 5:
@@ -216,7 +224,7 @@ class QrackSystem:
216
224
  c_ulonglong,
217
225
  c_ulonglong,
218
226
  POINTER(c_ulonglong),
219
- POINTER(c_float)
227
+ POINTER(c_float),
220
228
  ]
221
229
  self.qrack_lib.FactorizedExpectationFpRdm.restype = c_double
222
230
  self.qrack_lib.FactorizedExpectationFpRdm.argtypes = [
@@ -224,21 +232,21 @@ class QrackSystem:
224
232
  c_ulonglong,
225
233
  POINTER(c_ulonglong),
226
234
  POINTER(c_float),
227
- c_bool
235
+ c_bool,
228
236
  ]
229
237
  self.qrack_lib.UnitaryExpectation.restype = c_double
230
238
  self.qrack_lib.UnitaryExpectation.argtypes = [
231
239
  c_ulonglong,
232
240
  c_ulonglong,
233
241
  POINTER(c_ulonglong),
234
- POINTER(c_float)
242
+ POINTER(c_float),
235
243
  ]
236
244
  self.qrack_lib.MatrixExpectation.restype = c_double
237
245
  self.qrack_lib.MatrixExpectation.argtypes = [
238
246
  c_ulonglong,
239
247
  c_ulonglong,
240
248
  POINTER(c_ulonglong),
241
- POINTER(c_float)
249
+ POINTER(c_float),
242
250
  ]
243
251
  self.qrack_lib.UnitaryExpectationEigenVal.restype = c_double
244
252
  self.qrack_lib.UnitaryExpectationEigenVal.argtypes = [
@@ -246,7 +254,7 @@ class QrackSystem:
246
254
  c_ulonglong,
247
255
  POINTER(c_ulonglong),
248
256
  POINTER(c_float),
249
- POINTER(c_float)
257
+ POINTER(c_float),
250
258
  ]
251
259
  self.qrack_lib.MatrixExpectationEigenVal.restype = c_double
252
260
  self.qrack_lib.MatrixExpectationEigenVal.argtypes = [
@@ -254,7 +262,7 @@ class QrackSystem:
254
262
  c_ulonglong,
255
263
  POINTER(c_ulonglong),
256
264
  POINTER(c_float),
257
- POINTER(c_float)
265
+ POINTER(c_float),
258
266
  ]
259
267
  elif self.fppow == 6:
260
268
  self.qrack_lib.FactorizedExpectationFp.restype = c_double
@@ -262,7 +270,7 @@ class QrackSystem:
262
270
  c_ulonglong,
263
271
  c_ulonglong,
264
272
  POINTER(c_ulonglong),
265
- POINTER(c_double)
273
+ POINTER(c_double),
266
274
  ]
267
275
  self.qrack_lib.FactorizedExpectationFpRdm.restype = c_double
268
276
  self.qrack_lib.FactorizedExpectationFpRdm.argtypes = [
@@ -270,21 +278,21 @@ class QrackSystem:
270
278
  c_ulonglong,
271
279
  POINTER(c_ulonglong),
272
280
  POINTER(c_double),
273
- c_bool
281
+ c_bool,
274
282
  ]
275
283
  self.qrack_lib.UnitaryExpectation.restype = c_double
276
284
  self.qrack_lib.UnitaryExpectation.argtypes = [
277
285
  c_ulonglong,
278
286
  c_ulonglong,
279
287
  POINTER(c_ulonglong),
280
- POINTER(c_double)
288
+ POINTER(c_double),
281
289
  ]
282
290
  self.qrack_lib.MatrixExpectation.restype = c_double
283
291
  self.qrack_lib.MatrixExpectation.argtypes = [
284
292
  c_ulonglong,
285
293
  c_ulonglong,
286
294
  POINTER(c_ulonglong),
287
- POINTER(c_double)
295
+ POINTER(c_double),
288
296
  ]
289
297
  self.qrack_lib.UnitaryExpectationEigenVal.restype = c_double
290
298
  self.qrack_lib.UnitaryExpectationEigenVal.argtypes = [
@@ -292,7 +300,7 @@ class QrackSystem:
292
300
  c_ulonglong,
293
301
  POINTER(c_ulonglong),
294
302
  POINTER(c_double),
295
- POINTER(c_double)
303
+ POINTER(c_double),
296
304
  ]
297
305
  self.qrack_lib.MatrixExpectationEigenVal.restype = c_double
298
306
  self.qrack_lib.MatrixExpectationEigenVal.argtypes = [
@@ -300,7 +308,7 @@ class QrackSystem:
300
308
  c_ulonglong,
301
309
  POINTER(c_ulonglong),
302
310
  POINTER(c_double),
303
- POINTER(c_double)
311
+ POINTER(c_double),
304
312
  ]
305
313
 
306
314
  self.qrack_lib.PauliExpectation.restype = c_double
@@ -308,14 +316,14 @@ class QrackSystem:
308
316
  c_ulonglong,
309
317
  c_ulonglong,
310
318
  POINTER(c_ulonglong),
311
- POINTER(c_ulonglong)
319
+ POINTER(c_ulonglong),
312
320
  ]
313
321
 
314
322
  self.qrack_lib.Variance.restype = c_double
315
323
  self.qrack_lib.Variance.argtypes = [
316
324
  c_ulonglong,
317
325
  c_ulonglong,
318
- POINTER(c_ulonglong)
326
+ POINTER(c_ulonglong),
319
327
  ]
320
328
 
321
329
  self.qrack_lib.VarianceRdm.restype = c_double
@@ -323,7 +331,7 @@ class QrackSystem:
323
331
  c_ulonglong,
324
332
  c_ulonglong,
325
333
  POINTER(c_ulonglong),
326
- c_bool
334
+ c_bool,
327
335
  ]
328
336
 
329
337
  self.qrack_lib.FactorizedVariance.restype = c_double
@@ -332,7 +340,7 @@ class QrackSystem:
332
340
  c_ulonglong,
333
341
  POINTER(c_ulonglong),
334
342
  c_ulonglong,
335
- POINTER(c_ulonglong)
343
+ POINTER(c_ulonglong),
336
344
  ]
337
345
 
338
346
  self.qrack_lib.FactorizedVarianceRdm.restype = c_double
@@ -342,7 +350,7 @@ class QrackSystem:
342
350
  POINTER(c_ulonglong),
343
351
  c_ulonglong,
344
352
  POINTER(c_ulonglong),
345
- c_bool
353
+ c_bool,
346
354
  ]
347
355
 
348
356
  if self.fppow == 5:
@@ -351,7 +359,7 @@ class QrackSystem:
351
359
  c_ulonglong,
352
360
  c_ulonglong,
353
361
  POINTER(c_ulonglong),
354
- POINTER(c_float)
362
+ POINTER(c_float),
355
363
  ]
356
364
  self.qrack_lib.FactorizedVarianceFpRdm.restype = c_double
357
365
  self.qrack_lib.FactorizedVarianceFpRdm.argtypes = [
@@ -359,21 +367,21 @@ class QrackSystem:
359
367
  c_ulonglong,
360
368
  POINTER(c_ulonglong),
361
369
  POINTER(c_float),
362
- c_bool
370
+ c_bool,
363
371
  ]
364
372
  self.qrack_lib.UnitaryVariance.restype = c_double
365
373
  self.qrack_lib.UnitaryVariance.argtypes = [
366
374
  c_ulonglong,
367
375
  c_ulonglong,
368
376
  POINTER(c_ulonglong),
369
- POINTER(c_float)
377
+ POINTER(c_float),
370
378
  ]
371
379
  self.qrack_lib.MatrixVariance.restype = c_double
372
380
  self.qrack_lib.MatrixVariance.argtypes = [
373
381
  c_ulonglong,
374
382
  c_ulonglong,
375
383
  POINTER(c_ulonglong),
376
- POINTER(c_float)
384
+ POINTER(c_float),
377
385
  ]
378
386
  self.qrack_lib.UnitaryVarianceEigenVal.restype = c_double
379
387
  self.qrack_lib.UnitaryVarianceEigenVal.argtypes = [
@@ -381,7 +389,7 @@ class QrackSystem:
381
389
  c_ulonglong,
382
390
  POINTER(c_ulonglong),
383
391
  POINTER(c_float),
384
- POINTER(c_float)
392
+ POINTER(c_float),
385
393
  ]
386
394
  self.qrack_lib.MatrixVarianceEigenVal.restype = c_double
387
395
  self.qrack_lib.MatrixVarianceEigenVal.argtypes = [
@@ -389,7 +397,7 @@ class QrackSystem:
389
397
  c_ulonglong,
390
398
  POINTER(c_ulonglong),
391
399
  POINTER(c_float),
392
- POINTER(c_float)
400
+ POINTER(c_float),
393
401
  ]
394
402
  elif self.fppow == 6:
395
403
  self.qrack_lib.FactorizedVarianceFp.restype = c_double
@@ -397,7 +405,7 @@ class QrackSystem:
397
405
  c_ulonglong,
398
406
  c_ulonglong,
399
407
  POINTER(c_ulonglong),
400
- POINTER(c_double)
408
+ POINTER(c_double),
401
409
  ]
402
410
  self.qrack_lib.FactorizedVarianceFpRdm.restype = c_double
403
411
  self.qrack_lib.FactorizedVarianceFpRdm.argtypes = [
@@ -405,21 +413,21 @@ class QrackSystem:
405
413
  c_ulonglong,
406
414
  POINTER(c_ulonglong),
407
415
  POINTER(c_double),
408
- c_bool
416
+ c_bool,
409
417
  ]
410
418
  self.qrack_lib.UnitaryVariance.restype = c_double
411
419
  self.qrack_lib.UnitaryVariance.argtypes = [
412
420
  c_ulonglong,
413
421
  c_ulonglong,
414
422
  POINTER(c_ulonglong),
415
- POINTER(c_double)
423
+ POINTER(c_double),
416
424
  ]
417
425
  self.qrack_lib.MatrixVariance.restype = c_double
418
426
  self.qrack_lib.MatrixVariance.argtypes = [
419
427
  c_ulonglong,
420
428
  c_ulonglong,
421
429
  POINTER(c_ulonglong),
422
- POINTER(c_double)
430
+ POINTER(c_double),
423
431
  ]
424
432
  self.qrack_lib.UnitaryVarianceEigenVal.restype = c_double
425
433
  self.qrack_lib.UnitaryVarianceEigenVal.argtypes = [
@@ -427,7 +435,7 @@ class QrackSystem:
427
435
  c_ulonglong,
428
436
  POINTER(c_ulonglong),
429
437
  POINTER(c_double),
430
- POINTER(c_double)
438
+ POINTER(c_double),
431
439
  ]
432
440
  self.qrack_lib.MatrixVarianceEigenVal.restype = c_double
433
441
  self.qrack_lib.MatrixVarianceEigenVal.argtypes = [
@@ -435,7 +443,7 @@ class QrackSystem:
435
443
  c_ulonglong,
436
444
  POINTER(c_ulonglong),
437
445
  POINTER(c_double),
438
- POINTER(c_double)
446
+ POINTER(c_double),
439
447
  ]
440
448
 
441
449
  self.qrack_lib.PauliVariance.restype = c_double
@@ -443,7 +451,7 @@ class QrackSystem:
443
451
  c_ulonglong,
444
452
  c_ulonglong,
445
453
  POINTER(c_ulonglong),
446
- POINTER(c_ulonglong)
454
+ POINTER(c_ulonglong),
447
455
  ]
448
456
 
449
457
  self.qrack_lib.JointEnsembleProbability.restype = c_double
@@ -451,7 +459,7 @@ class QrackSystem:
451
459
  c_ulonglong,
452
460
  c_ulonglong,
453
461
  POINTER(c_int),
454
- c_ulonglong
462
+ c_ulonglong,
455
463
  ]
456
464
 
457
465
  self.qrack_lib.PhaseParity.restype = None
@@ -459,7 +467,7 @@ class QrackSystem:
459
467
  c_ulonglong,
460
468
  c_double,
461
469
  c_ulonglong,
462
- POINTER(c_ulonglong)
470
+ POINTER(c_ulonglong),
463
471
  ]
464
472
 
465
473
  self.qrack_lib.PhaseRootN.restype = None
@@ -467,7 +475,7 @@ class QrackSystem:
467
475
  c_ulonglong,
468
476
  c_ulonglong,
469
477
  c_ulonglong,
470
- POINTER(c_ulonglong)
478
+ POINTER(c_ulonglong),
471
479
  ]
472
480
 
473
481
  self.qrack_lib.ResetAll.restype = None
@@ -516,7 +524,7 @@ class QrackSystem:
516
524
  c_ulonglong,
517
525
  c_double,
518
526
  c_double,
519
- c_double
527
+ c_double,
520
528
  ]
521
529
 
522
530
  self.qrack_lib.Mtrx.restype = None
@@ -529,7 +537,7 @@ class QrackSystem:
529
537
  c_ulonglong,
530
538
  c_ulonglong,
531
539
  POINTER(c_ulonglong),
532
- c_ulonglong
540
+ c_ulonglong,
533
541
  ]
534
542
 
535
543
  self.qrack_lib.MCY.restype = None
@@ -537,7 +545,7 @@ class QrackSystem:
537
545
  c_ulonglong,
538
546
  c_ulonglong,
539
547
  POINTER(c_ulonglong),
540
- c_ulonglong
548
+ c_ulonglong,
541
549
  ]
542
550
 
543
551
  self.qrack_lib.MCZ.restype = None
@@ -545,7 +553,7 @@ class QrackSystem:
545
553
  c_ulonglong,
546
554
  c_ulonglong,
547
555
  POINTER(c_ulonglong),
548
- c_ulonglong
556
+ c_ulonglong,
549
557
  ]
550
558
 
551
559
  self.qrack_lib.MCH.restype = None
@@ -553,7 +561,7 @@ class QrackSystem:
553
561
  c_ulonglong,
554
562
  c_ulonglong,
555
563
  POINTER(c_ulonglong),
556
- c_ulonglong
564
+ c_ulonglong,
557
565
  ]
558
566
 
559
567
  self.qrack_lib.MCS.restype = None
@@ -561,7 +569,7 @@ class QrackSystem:
561
569
  c_ulonglong,
562
570
  c_ulonglong,
563
571
  POINTER(c_ulonglong),
564
- c_ulonglong
572
+ c_ulonglong,
565
573
  ]
566
574
 
567
575
  self.qrack_lib.MCT.restype = None
@@ -569,7 +577,7 @@ class QrackSystem:
569
577
  c_ulonglong,
570
578
  c_ulonglong,
571
579
  POINTER(c_ulonglong),
572
- c_ulonglong
580
+ c_ulonglong,
573
581
  ]
574
582
 
575
583
  self.qrack_lib.MCAdjS.restype = None
@@ -577,7 +585,7 @@ class QrackSystem:
577
585
  c_ulonglong,
578
586
  c_ulonglong,
579
587
  POINTER(c_ulonglong),
580
- c_ulonglong
588
+ c_ulonglong,
581
589
  ]
582
590
 
583
591
  self.qrack_lib.MCAdjT.restype = None
@@ -585,7 +593,7 @@ class QrackSystem:
585
593
  c_ulonglong,
586
594
  c_ulonglong,
587
595
  POINTER(c_ulonglong),
588
- c_ulonglong
596
+ c_ulonglong,
589
597
  ]
590
598
 
591
599
  self.qrack_lib.MCU.restype = None
@@ -596,7 +604,7 @@ class QrackSystem:
596
604
  c_ulonglong,
597
605
  c_double,
598
606
  c_double,
599
- c_double
607
+ c_double,
600
608
  ]
601
609
 
602
610
  self.qrack_lib.MCMtrx.restype = None
@@ -605,7 +613,7 @@ class QrackSystem:
605
613
  c_ulonglong,
606
614
  POINTER(c_ulonglong),
607
615
  POINTER(c_double),
608
- c_ulonglong
616
+ c_ulonglong,
609
617
  ]
610
618
 
611
619
  # multi-anti-controlled single-qubit gates
@@ -615,7 +623,7 @@ class QrackSystem:
615
623
  c_ulonglong,
616
624
  c_ulonglong,
617
625
  POINTER(c_ulonglong),
618
- c_ulonglong
626
+ c_ulonglong,
619
627
  ]
620
628
 
621
629
  self.qrack_lib.MACY.restype = None
@@ -623,7 +631,7 @@ class QrackSystem:
623
631
  c_ulonglong,
624
632
  c_ulonglong,
625
633
  POINTER(c_ulonglong),
626
- c_ulonglong
634
+ c_ulonglong,
627
635
  ]
628
636
 
629
637
  self.qrack_lib.MACZ.restype = None
@@ -631,7 +639,7 @@ class QrackSystem:
631
639
  c_ulonglong,
632
640
  c_ulonglong,
633
641
  POINTER(c_ulonglong),
634
- c_ulonglong
642
+ c_ulonglong,
635
643
  ]
636
644
 
637
645
  self.qrack_lib.MACH.restype = None
@@ -639,7 +647,7 @@ class QrackSystem:
639
647
  c_ulonglong,
640
648
  c_ulonglong,
641
649
  POINTER(c_ulonglong),
642
- c_ulonglong
650
+ c_ulonglong,
643
651
  ]
644
652
 
645
653
  self.qrack_lib.MACS.restype = None
@@ -647,7 +655,7 @@ class QrackSystem:
647
655
  c_ulonglong,
648
656
  c_ulonglong,
649
657
  POINTER(c_ulonglong),
650
- c_ulonglong
658
+ c_ulonglong,
651
659
  ]
652
660
 
653
661
  self.qrack_lib.MACT.restype = None
@@ -655,7 +663,7 @@ class QrackSystem:
655
663
  c_ulonglong,
656
664
  c_ulonglong,
657
665
  POINTER(c_ulonglong),
658
- c_ulonglong
666
+ c_ulonglong,
659
667
  ]
660
668
 
661
669
  self.qrack_lib.MACAdjS.restype = None
@@ -663,7 +671,7 @@ class QrackSystem:
663
671
  c_ulonglong,
664
672
  c_ulonglong,
665
673
  POINTER(c_ulonglong),
666
- c_ulonglong
674
+ c_ulonglong,
667
675
  ]
668
676
 
669
677
  self.qrack_lib.MACAdjT.restype = None
@@ -671,7 +679,7 @@ class QrackSystem:
671
679
  c_ulonglong,
672
680
  c_ulonglong,
673
681
  POINTER(c_ulonglong),
674
- c_ulonglong
682
+ c_ulonglong,
675
683
  ]
676
684
 
677
685
  self.qrack_lib.MACU.restype = None
@@ -682,7 +690,7 @@ class QrackSystem:
682
690
  c_ulonglong,
683
691
  c_double,
684
692
  c_double,
685
- c_double
693
+ c_double,
686
694
  ]
687
695
 
688
696
  self.qrack_lib.MACMtrx.restype = None
@@ -691,7 +699,7 @@ class QrackSystem:
691
699
  c_ulonglong,
692
700
  POINTER(c_ulonglong),
693
701
  POINTER(c_double),
694
- c_ulonglong
702
+ c_ulonglong,
695
703
  ]
696
704
 
697
705
  self.qrack_lib.UCMtrx.restype = None
@@ -701,7 +709,7 @@ class QrackSystem:
701
709
  POINTER(c_ulonglong),
702
710
  POINTER(c_double),
703
711
  c_ulonglong,
704
- c_ulonglong
712
+ c_ulonglong,
705
713
  ]
706
714
 
707
715
  self.qrack_lib.Multiplex1Mtrx.restype = None
@@ -710,7 +718,7 @@ class QrackSystem:
710
718
  c_ulonglong,
711
719
  POINTER(c_ulonglong),
712
720
  c_ulonglong,
713
- POINTER(c_double)
721
+ POINTER(c_double),
714
722
  ]
715
723
 
716
724
  # coalesced single qubit gates
@@ -736,7 +744,7 @@ class QrackSystem:
736
744
  c_double,
737
745
  c_ulonglong,
738
746
  POINTER(c_ulonglong),
739
- c_ulonglong
747
+ c_ulonglong,
740
748
  ]
741
749
 
742
750
  # exponential of Pauli operators
@@ -747,7 +755,7 @@ class QrackSystem:
747
755
  c_ulonglong,
748
756
  POINTER(c_int),
749
757
  c_double,
750
- POINTER(c_ulonglong)
758
+ POINTER(c_ulonglong),
751
759
  ]
752
760
 
753
761
  self.qrack_lib.MCExp.restype = None
@@ -758,7 +766,7 @@ class QrackSystem:
758
766
  c_double,
759
767
  c_ulonglong,
760
768
  POINTER(c_ulonglong),
761
- POINTER(c_ulonglong)
769
+ POINTER(c_ulonglong),
762
770
  ]
763
771
 
764
772
  # measurements
@@ -777,7 +785,7 @@ class QrackSystem:
777
785
  c_ulonglong,
778
786
  c_ulonglong,
779
787
  POINTER(c_int),
780
- POINTER(c_ulonglong)
788
+ POINTER(c_ulonglong),
781
789
  ]
782
790
 
783
791
  self.qrack_lib.MeasureShots.restype = None
@@ -786,7 +794,7 @@ class QrackSystem:
786
794
  c_ulonglong,
787
795
  POINTER(c_ulonglong),
788
796
  c_ulonglong,
789
- POINTER(c_ulonglong)
797
+ POINTER(c_ulonglong),
790
798
  ]
791
799
 
792
800
  # swap
@@ -806,7 +814,7 @@ class QrackSystem:
806
814
  c_double,
807
815
  c_double,
808
816
  c_ulonglong,
809
- c_ulonglong
817
+ c_ulonglong,
810
818
  ]
811
819
 
812
820
  self.qrack_lib.CSWAP.restype = None
@@ -815,7 +823,7 @@ class QrackSystem:
815
823
  c_ulonglong,
816
824
  POINTER(c_ulonglong),
817
825
  c_ulonglong,
818
- c_ulonglong
826
+ c_ulonglong,
819
827
  ]
820
828
 
821
829
  self.qrack_lib.ACSWAP.restype = None
@@ -824,7 +832,7 @@ class QrackSystem:
824
832
  c_ulonglong,
825
833
  POINTER(c_ulonglong),
826
834
  c_ulonglong,
827
- c_ulonglong
835
+ c_ulonglong,
828
836
  ]
829
837
 
830
838
  # Schmidt decomposition
@@ -833,21 +841,21 @@ class QrackSystem:
833
841
  self.qrack_lib.Compose.argtypes = [
834
842
  c_ulonglong,
835
843
  c_ulonglong,
836
- POINTER(c_ulonglong)
844
+ POINTER(c_ulonglong),
837
845
  ]
838
846
 
839
847
  self.qrack_lib.Decompose.restype = c_ulonglong
840
848
  self.qrack_lib.Decompose.argtypes = [
841
849
  c_ulonglong,
842
850
  c_ulonglong,
843
- POINTER(c_ulonglong)
851
+ POINTER(c_ulonglong),
844
852
  ]
845
853
 
846
854
  self.qrack_lib.Dispose.restype = None
847
855
  self.qrack_lib.Dispose.argtypes = [
848
856
  c_ulonglong,
849
857
  c_ulonglong,
850
- POINTER(c_ulonglong)
858
+ POINTER(c_ulonglong),
851
859
  ]
852
860
 
853
861
  # (quasi-)Boolean gates
@@ -857,7 +865,7 @@ class QrackSystem:
857
865
  c_ulonglong,
858
866
  c_ulonglong,
859
867
  c_ulonglong,
860
- c_ulonglong
868
+ c_ulonglong,
861
869
  ]
862
870
 
863
871
  self.qrack_lib.OR.restype = None
@@ -865,7 +873,7 @@ class QrackSystem:
865
873
  c_ulonglong,
866
874
  c_ulonglong,
867
875
  c_ulonglong,
868
- c_ulonglong
876
+ c_ulonglong,
869
877
  ]
870
878
 
871
879
  self.qrack_lib.XOR.restype = None
@@ -873,7 +881,7 @@ class QrackSystem:
873
881
  c_ulonglong,
874
882
  c_ulonglong,
875
883
  c_ulonglong,
876
- c_ulonglong
884
+ c_ulonglong,
877
885
  ]
878
886
 
879
887
  self.qrack_lib.NAND.restype = None
@@ -881,7 +889,7 @@ class QrackSystem:
881
889
  c_ulonglong,
882
890
  c_ulonglong,
883
891
  c_ulonglong,
884
- c_ulonglong
892
+ c_ulonglong,
885
893
  ]
886
894
 
887
895
  self.qrack_lib.NOR.restype = None
@@ -889,7 +897,7 @@ class QrackSystem:
889
897
  c_ulonglong,
890
898
  c_ulonglong,
891
899
  c_ulonglong,
892
- c_ulonglong
900
+ c_ulonglong,
893
901
  ]
894
902
 
895
903
  self.qrack_lib.XNOR.restype = None
@@ -897,7 +905,7 @@ class QrackSystem:
897
905
  c_ulonglong,
898
906
  c_ulonglong,
899
907
  c_ulonglong,
900
- c_ulonglong
908
+ c_ulonglong,
901
909
  ]
902
910
 
903
911
  # half classical (quasi-)Boolean gates
@@ -936,7 +944,7 @@ class QrackSystem:
936
944
  c_ulonglong,
937
945
  POINTER(c_ulonglong),
938
946
  c_ulonglong,
939
- POINTER(c_ulonglong)
947
+ POINTER(c_ulonglong),
940
948
  ]
941
949
 
942
950
  self.qrack_lib.SUB.restype = None
@@ -945,7 +953,7 @@ class QrackSystem:
945
953
  c_ulonglong,
946
954
  POINTER(c_ulonglong),
947
955
  c_ulonglong,
948
- POINTER(c_ulonglong)
956
+ POINTER(c_ulonglong),
949
957
  ]
950
958
 
951
959
  self.qrack_lib.ADDS.restype = None
@@ -955,7 +963,7 @@ class QrackSystem:
955
963
  POINTER(c_ulonglong),
956
964
  c_ulonglong,
957
965
  c_ulonglong,
958
- POINTER(c_ulonglong)
966
+ POINTER(c_ulonglong),
959
967
  ]
960
968
 
961
969
  self.qrack_lib.SUBS.restype = None
@@ -965,7 +973,7 @@ class QrackSystem:
965
973
  POINTER(c_ulonglong),
966
974
  c_ulonglong,
967
975
  c_ulonglong,
968
- POINTER(c_ulonglong)
976
+ POINTER(c_ulonglong),
969
977
  ]
970
978
 
971
979
  self.qrack_lib.MUL.restype = None
@@ -975,7 +983,7 @@ class QrackSystem:
975
983
  POINTER(c_ulonglong),
976
984
  c_ulonglong,
977
985
  POINTER(c_ulonglong),
978
- POINTER(c_ulonglong)
986
+ POINTER(c_ulonglong),
979
987
  ]
980
988
 
981
989
  self.qrack_lib.DIV.restype = None
@@ -985,7 +993,7 @@ class QrackSystem:
985
993
  POINTER(c_ulonglong),
986
994
  c_ulonglong,
987
995
  POINTER(c_ulonglong),
988
- POINTER(c_ulonglong)
996
+ POINTER(c_ulonglong),
989
997
  ]
990
998
 
991
999
  self.qrack_lib.MULN.restype = None
@@ -996,7 +1004,7 @@ class QrackSystem:
996
1004
  POINTER(c_ulonglong),
997
1005
  c_ulonglong,
998
1006
  POINTER(c_ulonglong),
999
- POINTER(c_ulonglong)
1007
+ POINTER(c_ulonglong),
1000
1008
  ]
1001
1009
 
1002
1010
  self.qrack_lib.DIVN.restype = None
@@ -1007,7 +1015,7 @@ class QrackSystem:
1007
1015
  POINTER(c_ulonglong),
1008
1016
  c_ulonglong,
1009
1017
  POINTER(c_ulonglong),
1010
- POINTER(c_ulonglong)
1018
+ POINTER(c_ulonglong),
1011
1019
  ]
1012
1020
 
1013
1021
  self.qrack_lib.POWN.restype = None
@@ -1018,7 +1026,7 @@ class QrackSystem:
1018
1026
  POINTER(c_ulonglong),
1019
1027
  c_ulonglong,
1020
1028
  POINTER(c_ulonglong),
1021
- POINTER(c_ulonglong)
1029
+ POINTER(c_ulonglong),
1022
1030
  ]
1023
1031
 
1024
1032
  self.qrack_lib.MCADD.restype = None
@@ -1029,7 +1037,7 @@ class QrackSystem:
1029
1037
  c_ulonglong,
1030
1038
  POINTER(c_ulonglong),
1031
1039
  c_ulonglong,
1032
- POINTER(c_ulonglong)
1040
+ POINTER(c_ulonglong),
1033
1041
  ]
1034
1042
 
1035
1043
  self.qrack_lib.MCSUB.restype = None
@@ -1040,7 +1048,7 @@ class QrackSystem:
1040
1048
  c_ulonglong,
1041
1049
  POINTER(c_ulonglong),
1042
1050
  c_ulonglong,
1043
- POINTER(c_ulonglong)
1051
+ POINTER(c_ulonglong),
1044
1052
  ]
1045
1053
 
1046
1054
  self.qrack_lib.MCMUL.restype = None
@@ -1051,7 +1059,7 @@ class QrackSystem:
1051
1059
  c_ulonglong,
1052
1060
  POINTER(c_ulonglong),
1053
1061
  c_ulonglong,
1054
- POINTER(c_ulonglong)
1062
+ POINTER(c_ulonglong),
1055
1063
  ]
1056
1064
 
1057
1065
  self.qrack_lib.MCDIV.restype = None
@@ -1062,7 +1070,7 @@ class QrackSystem:
1062
1070
  c_ulonglong,
1063
1071
  POINTER(c_ulonglong),
1064
1072
  c_ulonglong,
1065
- POINTER(c_ulonglong)
1073
+ POINTER(c_ulonglong),
1066
1074
  ]
1067
1075
 
1068
1076
  self.qrack_lib.MCMULN.restype = None
@@ -1075,7 +1083,7 @@ class QrackSystem:
1075
1083
  POINTER(c_ulonglong),
1076
1084
  c_ulonglong,
1077
1085
  POINTER(c_ulonglong),
1078
- POINTER(c_ulonglong)
1086
+ POINTER(c_ulonglong),
1079
1087
  ]
1080
1088
 
1081
1089
  self.qrack_lib.MCDIVN.restype = None
@@ -1088,7 +1096,7 @@ class QrackSystem:
1088
1096
  POINTER(c_ulonglong),
1089
1097
  c_ulonglong,
1090
1098
  POINTER(c_ulonglong),
1091
- POINTER(c_ulonglong)
1099
+ POINTER(c_ulonglong),
1092
1100
  ]
1093
1101
 
1094
1102
  self.qrack_lib.MCPOWN.restype = None
@@ -1101,7 +1109,7 @@ class QrackSystem:
1101
1109
  POINTER(c_ulonglong),
1102
1110
  c_ulonglong,
1103
1111
  POINTER(c_ulonglong),
1104
- POINTER(c_ulonglong)
1112
+ POINTER(c_ulonglong),
1105
1113
  ]
1106
1114
 
1107
1115
  self.qrack_lib.LDA.restype = None
@@ -1111,7 +1119,7 @@ class QrackSystem:
1111
1119
  POINTER(c_ulonglong),
1112
1120
  c_ulonglong,
1113
1121
  POINTER(c_ulonglong),
1114
- POINTER(c_ubyte)
1122
+ POINTER(c_ubyte),
1115
1123
  ]
1116
1124
 
1117
1125
  self.qrack_lib.ADC.restype = None
@@ -1122,7 +1130,7 @@ class QrackSystem:
1122
1130
  POINTER(c_ulonglong),
1123
1131
  c_ulonglong,
1124
1132
  POINTER(c_ulonglong),
1125
- POINTER(c_ubyte)
1133
+ POINTER(c_ubyte),
1126
1134
  ]
1127
1135
 
1128
1136
  self.qrack_lib.SBC.restype = None
@@ -1133,7 +1141,7 @@ class QrackSystem:
1133
1141
  POINTER(c_ulonglong),
1134
1142
  c_ulonglong,
1135
1143
  POINTER(c_ulonglong),
1136
- POINTER(c_ubyte)
1144
+ POINTER(c_ubyte),
1137
1145
  ]
1138
1146
 
1139
1147
  self.qrack_lib.Hash.restype = None
@@ -1141,7 +1149,7 @@ class QrackSystem:
1141
1149
  c_ulonglong,
1142
1150
  c_ulonglong,
1143
1151
  POINTER(c_ulonglong),
1144
- POINTER(c_ubyte)
1152
+ POINTER(c_ubyte),
1145
1153
  ]
1146
1154
 
1147
1155
  # miscellaneous
@@ -1157,14 +1165,14 @@ class QrackSystem:
1157
1165
  c_ulonglong,
1158
1166
  c_ulonglong,
1159
1167
  POINTER(c_ulonglong),
1160
- c_double
1168
+ c_double,
1161
1169
  ]
1162
1170
 
1163
1171
  self.qrack_lib.Separate.restype = None
1164
1172
  self.qrack_lib.Separate.argtypes = [
1165
1173
  c_ulonglong,
1166
1174
  c_ulonglong,
1167
- POINTER(c_ulonglong)
1175
+ POINTER(c_ulonglong),
1168
1176
  ]
1169
1177
 
1170
1178
  self.qrack_lib.GetUnitaryFidelity.restype = c_double
@@ -1198,7 +1206,15 @@ class QrackSystem:
1198
1206
  self.qrack_lib.qstabilizer_in_from_file.argtypes = [c_ulonglong, c_char_p]
1199
1207
 
1200
1208
  self.qrack_lib.init_qneuron.restype = c_ulonglong
1201
- self.qrack_lib.init_qneuron.argtypes = [c_ulonglong, c_ulonglong, POINTER(c_ulonglong), c_ulonglong, c_ulonglong, c_double, c_double]
1209
+ self.qrack_lib.init_qneuron.argtypes = [
1210
+ c_ulonglong,
1211
+ c_ulonglong,
1212
+ POINTER(c_ulonglong),
1213
+ c_ulonglong,
1214
+ c_ulonglong,
1215
+ c_double,
1216
+ c_double,
1217
+ ]
1202
1218
 
1203
1219
  self.qrack_lib.clone_qneuron.restype = c_ulonglong
1204
1220
  self.qrack_lib.clone_qneuron.argtypes = [c_ulonglong]
@@ -1213,8 +1229,14 @@ class QrackSystem:
1213
1229
  self.qrack_lib.set_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_float)]
1214
1230
  self.qrack_lib.get_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_float)]
1215
1231
  elif self.fppow == 6:
1216
- self.qrack_lib.set_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_double)]
1217
- self.qrack_lib.get_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_double)]
1232
+ self.qrack_lib.set_qneuron_angles.argtypes = [
1233
+ c_ulonglong,
1234
+ POINTER(c_double),
1235
+ ]
1236
+ self.qrack_lib.get_qneuron_angles.argtypes = [
1237
+ c_ulonglong,
1238
+ POINTER(c_double),
1239
+ ]
1218
1240
 
1219
1241
  self.qrack_lib.set_qneuron_alpha.restype = None
1220
1242
  self.qrack_lib.set_qneuron_alpha.argtypes = [c_ulonglong, c_double]
@@ -1241,7 +1263,12 @@ class QrackSystem:
1241
1263
  self.qrack_lib.qneuron_learn.argtypes = [c_ulonglong, c_double, c_bool, c_bool]
1242
1264
 
1243
1265
  self.qrack_lib.qneuron_learn_permutation.restype = None
1244
- self.qrack_lib.qneuron_learn_permutation.argtypes = [c_ulonglong, c_double, c_bool, c_bool]
1266
+ self.qrack_lib.qneuron_learn_permutation.argtypes = [
1267
+ c_ulonglong,
1268
+ c_double,
1269
+ c_bool,
1270
+ c_bool,
1271
+ ]
1245
1272
 
1246
1273
  self.qrack_lib.init_qcircuit.restype = c_ulonglong
1247
1274
  self.qrack_lib.init_qcircuit.argtypes = [c_bool, c_bool]
@@ -1253,7 +1280,11 @@ class QrackSystem:
1253
1280
  self.qrack_lib.qcircuit_inverse.argtypes = [c_ulonglong]
1254
1281
 
1255
1282
  self.qrack_lib.qcircuit_past_light_cone.restype = c_ulonglong
1256
- self.qrack_lib.qcircuit_past_light_cone.argtypes = [c_ulonglong, c_ulonglong, POINTER(c_ulonglong)]
1283
+ self.qrack_lib.qcircuit_past_light_cone.argtypes = [
1284
+ c_ulonglong,
1285
+ c_ulonglong,
1286
+ POINTER(c_ulonglong),
1287
+ ]
1257
1288
 
1258
1289
  self.qrack_lib.destroy_qcircuit.restype = None
1259
1290
  self.qrack_lib.destroy_qcircuit.argtypes = [c_ulonglong]
@@ -1265,10 +1296,21 @@ class QrackSystem:
1265
1296
  self.qrack_lib.qcircuit_swap.argtypes = [c_ulonglong, c_ulonglong, c_ulonglong]
1266
1297
 
1267
1298
  self.qrack_lib.qcircuit_append_1qb.restype = None
1268
- self.qrack_lib.qcircuit_append_1qb.argtypes = [c_ulonglong, POINTER(c_double), c_ulonglong]
1299
+ self.qrack_lib.qcircuit_append_1qb.argtypes = [
1300
+ c_ulonglong,
1301
+ POINTER(c_double),
1302
+ c_ulonglong,
1303
+ ]
1269
1304
 
1270
1305
  self.qrack_lib.qcircuit_append_mc.restype = None
1271
- self.qrack_lib.qcircuit_append_mc.argtypes = [c_ulonglong, POINTER(c_double), c_ulonglong, POINTER(c_ulonglong), c_ulonglong, c_ulonglong]
1306
+ self.qrack_lib.qcircuit_append_mc.argtypes = [
1307
+ c_ulonglong,
1308
+ POINTER(c_double),
1309
+ c_ulonglong,
1310
+ POINTER(c_ulonglong),
1311
+ c_ulonglong,
1312
+ c_ulonglong,
1313
+ ]
1272
1314
 
1273
1315
  self.qrack_lib.qcircuit_run.restype = None
1274
1316
  self.qrack_lib.qcircuit_run.argtypes = [c_ulonglong, c_ulonglong]