waveforms 1.6.1__tar.gz → 1.6.2__tar.gz

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.
Files changed (230) hide show
  1. {waveforms-1.6.1/waveforms.egg-info → waveforms-1.6.2}/PKG-INFO +1 -1
  2. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/version.py +1 -1
  3. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/waveform.py +44 -0
  4. {waveforms-1.6.1 → waveforms-1.6.2/waveforms.egg-info}/PKG-INFO +1 -1
  5. {waveforms-1.6.1 → waveforms-1.6.2}/LICENSE +0 -0
  6. {waveforms-1.6.1 → waveforms-1.6.2}/MANIFEST.in +0 -0
  7. {waveforms-1.6.1 → waveforms-1.6.2}/README.md +0 -0
  8. {waveforms-1.6.1 → waveforms-1.6.2}/pyproject.toml +0 -0
  9. {waveforms-1.6.1 → waveforms-1.6.2}/setup.cfg +0 -0
  10. {waveforms-1.6.1 → waveforms-1.6.2}/setup.py +0 -0
  11. {waveforms-1.6.1 → waveforms-1.6.2}/src/ikcp.c +0 -0
  12. {waveforms-1.6.1 → waveforms-1.6.2}/src/ikcp.h +0 -0
  13. {waveforms-1.6.1 → waveforms-1.6.2}/src/kcp.c +0 -0
  14. {waveforms-1.6.1 → waveforms-1.6.2}/src/prime.c +0 -0
  15. {waveforms-1.6.1 → waveforms-1.6.2}/src/waveform.c +0 -0
  16. {waveforms-1.6.1 → waveforms-1.6.2}/src/waveform.h +0 -0
  17. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_clifford.py +0 -0
  18. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_compile.py +0 -0
  19. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_config.py +0 -0
  20. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_cycles.py +0 -0
  21. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_dicttree.py +0 -0
  22. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_group.py +0 -0
  23. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_lisp.py +0 -0
  24. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_msgpack.py +0 -0
  25. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_namespace.py +0 -0
  26. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_registry.py +0 -0
  27. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_scan_iter.py +0 -0
  28. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_tomo.py +0 -0
  29. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_verify.py +0 -0
  30. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_vm.py +0 -0
  31. {waveforms-1.6.1 → waveforms-1.6.2}/tests/test_waveform.py +0 -0
  32. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/__init__.py +0 -0
  33. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/__main__.py +0 -0
  34. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/autoreload.py +0 -0
  35. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/baseconfig.py +0 -0
  36. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/cache.py +0 -0
  37. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/dicttree.py +0 -0
  38. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/loader.py +0 -0
  39. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/__init__.py +0 -0
  40. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/bayes.py +0 -0
  41. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fibheap.py +0 -0
  42. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/__init__.py +0 -0
  43. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/_fit.py +0 -0
  44. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/delay.py +0 -0
  45. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/geo.py +0 -0
  46. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/qubit_dynamics.py +0 -0
  47. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/readout.py +0 -0
  48. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/resonator.py +0 -0
  49. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/simple.py +0 -0
  50. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/fit/spectrum.py +0 -0
  51. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/graph.py +0 -0
  52. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/group/_SU_n_.py +0 -0
  53. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/group/__init__.py +0 -0
  54. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/group/clifford/__init__.py +0 -0
  55. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/group/clifford/funtions.py +0 -0
  56. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/group/permutation_group.py +0 -0
  57. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/prime.py +0 -0
  58. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/signal/__init__.py +0 -0
  59. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/signal/demodulate.py +0 -0
  60. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/signal/distortion.py +0 -0
  61. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/signal/func.py +0 -0
  62. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/math/transmon.py +0 -0
  63. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/namespace.py +0 -0
  64. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/__init__.py +0 -0
  65. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/arch/__init__.py +0 -0
  66. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/assembly.py +0 -0
  67. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/base.py +0 -0
  68. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/commands.py +0 -0
  69. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/compiler.py +0 -0
  70. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/config.py +0 -0
  71. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/interpreter.py +0 -0
  72. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/library.py +0 -0
  73. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/libs/__init__.py +0 -0
  74. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/macro.py +0 -0
  75. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/parse.py +0 -0
  76. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/prog.py +0 -0
  77. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/__init__.py +0 -0
  78. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/eval.py +0 -0
  79. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/exceptions.py +0 -0
  80. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/libs/__init__.py +0 -0
  81. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/libs/qelib1.inc +0 -0
  82. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/__init__.py +0 -0
  83. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/barrier.py +0 -0
  84. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/binaryop.py +0 -0
  85. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/binaryoperator.py +0 -0
  86. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/creg.py +0 -0
  87. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/customunitary.py +0 -0
  88. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/expressionlist.py +0 -0
  89. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/external.py +0 -0
  90. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/format.py +0 -0
  91. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/gate.py +0 -0
  92. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/gatebody.py +0 -0
  93. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/id.py +0 -0
  94. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/idlist.py +0 -0
  95. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/if_.py +0 -0
  96. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/indexedid.py +0 -0
  97. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/intnode.py +0 -0
  98. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/measure.py +0 -0
  99. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/node.py +0 -0
  100. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/nodeexception.py +0 -0
  101. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/opaque.py +0 -0
  102. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/prefix.py +0 -0
  103. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/primarylist.py +0 -0
  104. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/program.py +0 -0
  105. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/qreg.py +0 -0
  106. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/real.py +0 -0
  107. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/reset.py +0 -0
  108. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/node/unaryoperator.py +0 -0
  109. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/qasm.py +0 -0
  110. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/qasmlexer.py +0 -0
  111. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/qasm/qasmparser.py +0 -0
  112. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/simulator/__init__.py +0 -0
  113. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/simulator/mat.py +0 -0
  114. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/simulator/simple.py +0 -0
  115. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/tokenize.py +0 -0
  116. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/qlisp/utils.py +0 -0
  117. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/__init__.py +0 -0
  118. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/__init__.py +0 -0
  119. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/__init__.py +0 -0
  120. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/arch/__init__.py +0 -0
  121. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/arch/base.py +0 -0
  122. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/assembly_left.py +0 -0
  123. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/assembly_right.py +0 -0
  124. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/compiler.py +0 -0
  125. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/config.py +0 -0
  126. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/library.py +0 -0
  127. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/macro.py +0 -0
  128. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/qasm.py +0 -0
  129. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/qlisp.py +0 -0
  130. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/stdlib.py +0 -0
  131. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/qlisp/utils.py +0 -0
  132. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/circuit/simulator/__init__.py +0 -0
  133. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/clifford/__init__.py +0 -0
  134. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/clifford/clifford.py +0 -0
  135. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/clifford/db.py +0 -0
  136. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/clifford/mat.py +0 -0
  137. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/clifford/seq2mat.py +0 -0
  138. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/math.py +0 -0
  139. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/rb.py +0 -0
  140. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/tomo.py +0 -0
  141. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/transmon.py +0 -0
  142. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/quantum/xeb.py +0 -0
  143. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/registry.py +0 -0
  144. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/scan/__init__.py +0 -0
  145. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/scan/dataset.py +0 -0
  146. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/scan/transforms.py +0 -0
  147. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/scan_iter.py +0 -0
  148. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/security/__init__.py +0 -0
  149. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/security/verify.py +0 -0
  150. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/server/__init__.py +0 -0
  151. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/server/__main__.py +0 -0
  152. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/server/umsgpack.py +0 -0
  153. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/__init__.py +0 -0
  154. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/chat.py +0 -0
  155. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/device/__init__.py +0 -0
  156. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/device/basedevice.py +0 -0
  157. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/device/loader.py +0 -0
  158. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/device/utils.py +0 -0
  159. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/drivers/FakeInstrument.py +0 -0
  160. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/drivers/__init__.py +0 -0
  161. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/ipy_events.py +0 -0
  162. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/net/__init__.py +0 -0
  163. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/net/dhcp.py +0 -0
  164. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/net/dhcpd.py +0 -0
  165. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/net/kad.py +0 -0
  166. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/net/kcp.py +0 -0
  167. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/progress.py +0 -0
  168. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/storage/__init__.py +0 -0
  169. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/storage/crud.py +0 -0
  170. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/sys/storage/models.py +0 -0
  171. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/__init__.py +0 -0
  172. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/__init__.py +0 -0
  173. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/bootstrap.py +0 -0
  174. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/config.py +0 -0
  175. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/__init__.py +0 -0
  176. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/_bigbrother.py +0 -0
  177. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/base.py +0 -0
  178. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/executor.py +0 -0
  179. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/progress.py +0 -0
  180. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/scan.py +0 -0
  181. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/scan_iters.py +0 -0
  182. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/sched.py +0 -0
  183. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/task.py +0 -0
  184. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/sched/terminal.py +0 -0
  185. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/storage/__init__.py +0 -0
  186. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/storage/crud.py +0 -0
  187. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/storage/hdf5_utils.py +0 -0
  188. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/storage/models.py +0 -0
  189. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/terminal/__init__.py +0 -0
  190. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/terminal/app.py +0 -0
  191. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/kernel/terminal/scan.py +0 -0
  192. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/__init__.py +0 -0
  193. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/apps/__init__.py +0 -0
  194. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/arch/__init__.py +0 -0
  195. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/arch/baqis.py +0 -0
  196. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/arch/baqis_config.py +0 -0
  197. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/arch/baqis_seq.py +0 -0
  198. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/gates/__init__.py +0 -0
  199. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/gates/cr.py +0 -0
  200. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/gates/qudit.py +0 -0
  201. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/gates/std.py +0 -0
  202. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/gates/u3.py +0 -0
  203. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/math/__init__.py +0 -0
  204. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/lib/math/state_classify.py +0 -0
  205. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/qlisp/__init__.py +0 -0
  206. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/qlisp/base.py +0 -0
  207. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/qlisp/prog.py +0 -0
  208. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/__init__.py +0 -0
  209. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/crud/__init__.py +0 -0
  210. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/crud/basic.py +0 -0
  211. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/crud/record.py +0 -0
  212. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/files.py +0 -0
  213. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/fs.py +0 -0
  214. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/git.py +0 -0
  215. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/hdf5_utils.py +0 -0
  216. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/ipy_events.py +0 -0
  217. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/models.py +0 -0
  218. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/systemq_kernel/storage/utils.py +0 -0
  219. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/units/__init__.py +0 -0
  220. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/visualization/__init__.py +0 -0
  221. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/visualization/__main__.py +0 -0
  222. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/visualization/plot_layout.py +0 -0
  223. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/visualization/plot_seq.py +0 -0
  224. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/visualization/qdat.py +0 -0
  225. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms/waveform_parser.py +0 -0
  226. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms.egg-info/SOURCES.txt +0 -0
  227. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms.egg-info/dependency_links.txt +0 -0
  228. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms.egg-info/entry_points.txt +0 -0
  229. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms.egg-info/requires.txt +0 -0
  230. {waveforms-1.6.1 → waveforms-1.6.2}/waveforms.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: waveforms
3
- Version: 1.6.1
3
+ Version: 1.6.2
4
4
  Summary: Edit waveforms used in experiment
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
@@ -1,2 +1,2 @@
1
1
  """Define version number here and read it from setup.py automatically"""
2
- __version__ = "1.6.1"
2
+ __version__ = "1.6.2"
@@ -687,6 +687,50 @@ class Waveform:
687
687
  ])
688
688
  return "$$\n{}\n$$".format(expr)
689
689
 
690
+ def _play(self, time_unit):
691
+ RATE = 48000
692
+ y = self.sample(sample_rate=RATE / time_unit)
693
+ play(y, RATE)
694
+
695
+ def play(self, time_unit=1):
696
+ import multiprocessing as mp
697
+ p = mp.Process(target=self._play, args=(time_unit, ), daemon=True)
698
+ p.start()
699
+
700
+
701
+ def play(data, rate=48000):
702
+ import io
703
+ import pyaudio
704
+
705
+ CHUNK = 1024
706
+
707
+ max_amp = np.max(np.abs(data))
708
+
709
+ if max_amp > 1:
710
+ data /= max_amp
711
+
712
+ data = np.array(2**15 * 0.999 * data, dtype=np.int16)
713
+ buff = io.BytesIO(data.data)
714
+ p = pyaudio.PyAudio()
715
+
716
+ try:
717
+ stream = p.open(format=pyaudio.paInt16,
718
+ channels=1,
719
+ rate=rate,
720
+ output=True)
721
+ try:
722
+ while True:
723
+ data = buff.read(CHUNK)
724
+ if data:
725
+ stream.write(data)
726
+ else:
727
+ break
728
+ finally:
729
+ stream.stop_stream()
730
+ stream.close()
731
+ finally:
732
+ p.terminate()
733
+
690
734
 
691
735
  _zero_waveform = Waveform()
692
736
  _one_waveform = Waveform(seq=(_one, ))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: waveforms
3
- Version: 1.6.1
3
+ Version: 1.6.2
4
4
  Summary: Edit waveforms used in experiment
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes