mqt-core 3.3.0__cp314-cp314-macosx_11_0_x86_64.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 mqt-core might be problematic. Click here for more details.

Files changed (546) hide show
  1. mqt/core/__init__.py +77 -0
  2. mqt/core/__main__.py +55 -0
  3. mqt/core/_commands.py +52 -0
  4. mqt/core/_compat/__init__.py +11 -0
  5. mqt/core/_compat/typing.py +29 -0
  6. mqt/core/_version.py +34 -0
  7. mqt/core/_version.pyi +12 -0
  8. mqt/core/dd.cpython-314-darwin.so +0 -0
  9. mqt/core/dd.pyi +1016 -0
  10. mqt/core/dd_evaluation.py +368 -0
  11. mqt/core/fomac.cpython-314-darwin.so +0 -0
  12. mqt/core/fomac.pyi +125 -0
  13. mqt/core/include/mqt-core/algorithms/BernsteinVazirani.hpp +39 -0
  14. mqt/core/include/mqt-core/algorithms/GHZState.hpp +18 -0
  15. mqt/core/include/mqt-core/algorithms/Grover.hpp +33 -0
  16. mqt/core/include/mqt-core/algorithms/QFT.hpp +21 -0
  17. mqt/core/include/mqt-core/algorithms/QPE.hpp +30 -0
  18. mqt/core/include/mqt-core/algorithms/RandomCliffordCircuit.hpp +22 -0
  19. mqt/core/include/mqt-core/algorithms/StatePreparation.hpp +43 -0
  20. mqt/core/include/mqt-core/algorithms/WState.hpp +18 -0
  21. mqt/core/include/mqt-core/algorithms/mqt_core_algorithms_export.h +43 -0
  22. mqt/core/include/mqt-core/boost/config/abi/borland_prefix.hpp +27 -0
  23. mqt/core/include/mqt-core/boost/config/abi/borland_suffix.hpp +12 -0
  24. mqt/core/include/mqt-core/boost/config/abi/msvc_prefix.hpp +22 -0
  25. mqt/core/include/mqt-core/boost/config/abi/msvc_suffix.hpp +8 -0
  26. mqt/core/include/mqt-core/boost/config/abi_prefix.hpp +25 -0
  27. mqt/core/include/mqt-core/boost/config/abi_suffix.hpp +25 -0
  28. mqt/core/include/mqt-core/boost/config/assert_cxx03.hpp +211 -0
  29. mqt/core/include/mqt-core/boost/config/assert_cxx11.hpp +212 -0
  30. mqt/core/include/mqt-core/boost/config/assert_cxx14.hpp +47 -0
  31. mqt/core/include/mqt-core/boost/config/assert_cxx17.hpp +65 -0
  32. mqt/core/include/mqt-core/boost/config/assert_cxx20.hpp +59 -0
  33. mqt/core/include/mqt-core/boost/config/assert_cxx23.hpp +41 -0
  34. mqt/core/include/mqt-core/boost/config/assert_cxx98.hpp +23 -0
  35. mqt/core/include/mqt-core/boost/config/auto_link.hpp +525 -0
  36. mqt/core/include/mqt-core/boost/config/compiler/borland.hpp +342 -0
  37. mqt/core/include/mqt-core/boost/config/compiler/clang.hpp +370 -0
  38. mqt/core/include/mqt-core/boost/config/compiler/clang_version.hpp +89 -0
  39. mqt/core/include/mqt-core/boost/config/compiler/codegear.hpp +389 -0
  40. mqt/core/include/mqt-core/boost/config/compiler/comeau.hpp +59 -0
  41. mqt/core/include/mqt-core/boost/config/compiler/common_edg.hpp +185 -0
  42. mqt/core/include/mqt-core/boost/config/compiler/compaq_cxx.hpp +19 -0
  43. mqt/core/include/mqt-core/boost/config/compiler/cray.hpp +446 -0
  44. mqt/core/include/mqt-core/boost/config/compiler/diab.hpp +26 -0
  45. mqt/core/include/mqt-core/boost/config/compiler/digitalmars.hpp +146 -0
  46. mqt/core/include/mqt-core/boost/config/compiler/gcc.hpp +386 -0
  47. mqt/core/include/mqt-core/boost/config/compiler/gcc_xml.hpp +115 -0
  48. mqt/core/include/mqt-core/boost/config/compiler/greenhills.hpp +28 -0
  49. mqt/core/include/mqt-core/boost/config/compiler/hp_acc.hpp +153 -0
  50. mqt/core/include/mqt-core/boost/config/compiler/intel.hpp +577 -0
  51. mqt/core/include/mqt-core/boost/config/compiler/kai.hpp +33 -0
  52. mqt/core/include/mqt-core/boost/config/compiler/metrowerks.hpp +201 -0
  53. mqt/core/include/mqt-core/boost/config/compiler/mpw.hpp +143 -0
  54. mqt/core/include/mqt-core/boost/config/compiler/nvcc.hpp +64 -0
  55. mqt/core/include/mqt-core/boost/config/compiler/pathscale.hpp +141 -0
  56. mqt/core/include/mqt-core/boost/config/compiler/pgi.hpp +23 -0
  57. mqt/core/include/mqt-core/boost/config/compiler/sgi_mipspro.hpp +29 -0
  58. mqt/core/include/mqt-core/boost/config/compiler/sunpro_cc.hpp +225 -0
  59. mqt/core/include/mqt-core/boost/config/compiler/vacpp.hpp +189 -0
  60. mqt/core/include/mqt-core/boost/config/compiler/visualc.hpp +398 -0
  61. mqt/core/include/mqt-core/boost/config/compiler/xlcpp.hpp +303 -0
  62. mqt/core/include/mqt-core/boost/config/compiler/xlcpp_zos.hpp +174 -0
  63. mqt/core/include/mqt-core/boost/config/detail/cxx_composite.hpp +218 -0
  64. mqt/core/include/mqt-core/boost/config/detail/posix_features.hpp +95 -0
  65. mqt/core/include/mqt-core/boost/config/detail/select_compiler_config.hpp +157 -0
  66. mqt/core/include/mqt-core/boost/config/detail/select_platform_config.hpp +147 -0
  67. mqt/core/include/mqt-core/boost/config/detail/select_stdlib_config.hpp +121 -0
  68. mqt/core/include/mqt-core/boost/config/detail/suffix.hpp +1334 -0
  69. mqt/core/include/mqt-core/boost/config/header_deprecated.hpp +26 -0
  70. mqt/core/include/mqt-core/boost/config/helper_macros.hpp +37 -0
  71. mqt/core/include/mqt-core/boost/config/no_tr1/cmath.hpp +28 -0
  72. mqt/core/include/mqt-core/boost/config/no_tr1/complex.hpp +28 -0
  73. mqt/core/include/mqt-core/boost/config/no_tr1/functional.hpp +28 -0
  74. mqt/core/include/mqt-core/boost/config/no_tr1/memory.hpp +28 -0
  75. mqt/core/include/mqt-core/boost/config/no_tr1/utility.hpp +28 -0
  76. mqt/core/include/mqt-core/boost/config/platform/aix.hpp +33 -0
  77. mqt/core/include/mqt-core/boost/config/platform/amigaos.hpp +15 -0
  78. mqt/core/include/mqt-core/boost/config/platform/beos.hpp +26 -0
  79. mqt/core/include/mqt-core/boost/config/platform/bsd.hpp +83 -0
  80. mqt/core/include/mqt-core/boost/config/platform/cloudabi.hpp +18 -0
  81. mqt/core/include/mqt-core/boost/config/platform/cray.hpp +18 -0
  82. mqt/core/include/mqt-core/boost/config/platform/cygwin.hpp +71 -0
  83. mqt/core/include/mqt-core/boost/config/platform/haiku.hpp +31 -0
  84. mqt/core/include/mqt-core/boost/config/platform/hpux.hpp +87 -0
  85. mqt/core/include/mqt-core/boost/config/platform/irix.hpp +31 -0
  86. mqt/core/include/mqt-core/boost/config/platform/linux.hpp +106 -0
  87. mqt/core/include/mqt-core/boost/config/platform/macos.hpp +87 -0
  88. mqt/core/include/mqt-core/boost/config/platform/qnxnto.hpp +31 -0
  89. mqt/core/include/mqt-core/boost/config/platform/solaris.hpp +31 -0
  90. mqt/core/include/mqt-core/boost/config/platform/symbian.hpp +97 -0
  91. mqt/core/include/mqt-core/boost/config/platform/vms.hpp +25 -0
  92. mqt/core/include/mqt-core/boost/config/platform/vxworks.hpp +422 -0
  93. mqt/core/include/mqt-core/boost/config/platform/wasm.hpp +23 -0
  94. mqt/core/include/mqt-core/boost/config/platform/win32.hpp +90 -0
  95. mqt/core/include/mqt-core/boost/config/platform/zos.hpp +32 -0
  96. mqt/core/include/mqt-core/boost/config/pragma_message.hpp +31 -0
  97. mqt/core/include/mqt-core/boost/config/requires_threads.hpp +92 -0
  98. mqt/core/include/mqt-core/boost/config/stdlib/dinkumware.hpp +324 -0
  99. mqt/core/include/mqt-core/boost/config/stdlib/libcomo.hpp +93 -0
  100. mqt/core/include/mqt-core/boost/config/stdlib/libcpp.hpp +180 -0
  101. mqt/core/include/mqt-core/boost/config/stdlib/libstdcpp3.hpp +482 -0
  102. mqt/core/include/mqt-core/boost/config/stdlib/modena.hpp +79 -0
  103. mqt/core/include/mqt-core/boost/config/stdlib/msl.hpp +98 -0
  104. mqt/core/include/mqt-core/boost/config/stdlib/roguewave.hpp +208 -0
  105. mqt/core/include/mqt-core/boost/config/stdlib/sgi.hpp +168 -0
  106. mqt/core/include/mqt-core/boost/config/stdlib/stlport.hpp +258 -0
  107. mqt/core/include/mqt-core/boost/config/stdlib/vacpp.hpp +74 -0
  108. mqt/core/include/mqt-core/boost/config/stdlib/xlcpp_zos.hpp +61 -0
  109. mqt/core/include/mqt-core/boost/config/user.hpp +133 -0
  110. mqt/core/include/mqt-core/boost/config/warning_disable.hpp +47 -0
  111. mqt/core/include/mqt-core/boost/config/workaround.hpp +305 -0
  112. mqt/core/include/mqt-core/boost/config.hpp +67 -0
  113. mqt/core/include/mqt-core/boost/cstdint.hpp +556 -0
  114. mqt/core/include/mqt-core/boost/cxx11_char_types.hpp +70 -0
  115. mqt/core/include/mqt-core/boost/detail/workaround.hpp +10 -0
  116. mqt/core/include/mqt-core/boost/limits.hpp +146 -0
  117. mqt/core/include/mqt-core/boost/multiprecision/complex128.hpp +24 -0
  118. mqt/core/include/mqt-core/boost/multiprecision/complex_adaptor.hpp +1046 -0
  119. mqt/core/include/mqt-core/boost/multiprecision/concepts/mp_number_archetypes.hpp +257 -0
  120. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float/io.hpp +698 -0
  121. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float/transcendental.hpp +157 -0
  122. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float.hpp +2297 -0
  123. mqt/core/include/mqt-core/boost/multiprecision/cpp_complex.hpp +12 -0
  124. mqt/core/include/mqt-core/boost/multiprecision/cpp_dec_float.hpp +3690 -0
  125. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/add.hpp +368 -0
  126. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/add_unsigned.hpp +387 -0
  127. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/bitwise.hpp +889 -0
  128. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/checked.hpp +178 -0
  129. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/comparison.hpp +374 -0
  130. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/cpp_int_config.hpp +161 -0
  131. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/divide.hpp +703 -0
  132. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/import_export.hpp +248 -0
  133. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/intel_intrinsics.hpp +138 -0
  134. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/limits.hpp +282 -0
  135. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/literals.hpp +295 -0
  136. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/misc.hpp +1457 -0
  137. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/multiply.hpp +848 -0
  138. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/serialize.hpp +211 -0
  139. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/value_pack.hpp +42 -0
  140. mqt/core/include/mqt-core/boost/multiprecision/cpp_int.hpp +2360 -0
  141. mqt/core/include/mqt-core/boost/multiprecision/debug_adaptor.hpp +760 -0
  142. mqt/core/include/mqt-core/boost/multiprecision/detail/assert.hpp +29 -0
  143. mqt/core/include/mqt-core/boost/multiprecision/detail/atomic.hpp +62 -0
  144. mqt/core/include/mqt-core/boost/multiprecision/detail/bitscan.hpp +317 -0
  145. mqt/core/include/mqt-core/boost/multiprecision/detail/check_cpp11_config.hpp +64 -0
  146. mqt/core/include/mqt-core/boost/multiprecision/detail/constexpr.hpp +88 -0
  147. mqt/core/include/mqt-core/boost/multiprecision/detail/default_ops.hpp +4052 -0
  148. mqt/core/include/mqt-core/boost/multiprecision/detail/digits.hpp +49 -0
  149. mqt/core/include/mqt-core/boost/multiprecision/detail/dynamic_array.hpp +44 -0
  150. mqt/core/include/mqt-core/boost/multiprecision/detail/empty_value.hpp +87 -0
  151. mqt/core/include/mqt-core/boost/multiprecision/detail/endian.hpp +35 -0
  152. mqt/core/include/mqt-core/boost/multiprecision/detail/et_ops.hpp +1831 -0
  153. mqt/core/include/mqt-core/boost/multiprecision/detail/float128_functions.hpp +95 -0
  154. mqt/core/include/mqt-core/boost/multiprecision/detail/float_string_cvt.hpp +333 -0
  155. mqt/core/include/mqt-core/boost/multiprecision/detail/fpclassify.hpp +101 -0
  156. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/constants.hpp +288 -0
  157. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/pow.hpp +905 -0
  158. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/trig.hpp +1058 -0
  159. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/trunc.hpp +82 -0
  160. mqt/core/include/mqt-core/boost/multiprecision/detail/generic_interconvert.hpp +687 -0
  161. mqt/core/include/mqt-core/boost/multiprecision/detail/hash.hpp +56 -0
  162. mqt/core/include/mqt-core/boost/multiprecision/detail/integer_ops.hpp +474 -0
  163. mqt/core/include/mqt-core/boost/multiprecision/detail/itos.hpp +39 -0
  164. mqt/core/include/mqt-core/boost/multiprecision/detail/min_max.hpp +106 -0
  165. mqt/core/include/mqt-core/boost/multiprecision/detail/no_et_ops.hpp +661 -0
  166. mqt/core/include/mqt-core/boost/multiprecision/detail/no_exceptions_support.hpp +55 -0
  167. mqt/core/include/mqt-core/boost/multiprecision/detail/number_base.hpp +1656 -0
  168. mqt/core/include/mqt-core/boost/multiprecision/detail/number_compare.hpp +848 -0
  169. mqt/core/include/mqt-core/boost/multiprecision/detail/precision.hpp +313 -0
  170. mqt/core/include/mqt-core/boost/multiprecision/detail/rebind.hpp +19 -0
  171. mqt/core/include/mqt-core/boost/multiprecision/detail/standalone_config.hpp +148 -0
  172. mqt/core/include/mqt-core/boost/multiprecision/detail/static_array.hpp +42 -0
  173. mqt/core/include/mqt-core/boost/multiprecision/detail/string_helpers.hpp +48 -0
  174. mqt/core/include/mqt-core/boost/multiprecision/detail/tables.hpp +80 -0
  175. mqt/core/include/mqt-core/boost/multiprecision/detail/ublas_interop.hpp +75 -0
  176. mqt/core/include/mqt-core/boost/multiprecision/detail/uniform_int_distribution.hpp +212 -0
  177. mqt/core/include/mqt-core/boost/multiprecision/detail/utype_helper.hpp +374 -0
  178. mqt/core/include/mqt-core/boost/multiprecision/eigen.hpp +248 -0
  179. mqt/core/include/mqt-core/boost/multiprecision/float128.hpp +920 -0
  180. mqt/core/include/mqt-core/boost/multiprecision/fwd.hpp +268 -0
  181. mqt/core/include/mqt-core/boost/multiprecision/gmp.hpp +4060 -0
  182. mqt/core/include/mqt-core/boost/multiprecision/integer.hpp +363 -0
  183. mqt/core/include/mqt-core/boost/multiprecision/logged_adaptor.hpp +834 -0
  184. mqt/core/include/mqt-core/boost/multiprecision/miller_rabin.hpp +221 -0
  185. mqt/core/include/mqt-core/boost/multiprecision/mpc.hpp +1721 -0
  186. mqt/core/include/mqt-core/boost/multiprecision/mpfi.hpp +2559 -0
  187. mqt/core/include/mqt-core/boost/multiprecision/mpfr.hpp +3644 -0
  188. mqt/core/include/mqt-core/boost/multiprecision/number.hpp +2500 -0
  189. mqt/core/include/mqt-core/boost/multiprecision/random.hpp +23 -0
  190. mqt/core/include/mqt-core/boost/multiprecision/rational_adaptor.hpp +1289 -0
  191. mqt/core/include/mqt-core/boost/multiprecision/tommath.hpp +1034 -0
  192. mqt/core/include/mqt-core/boost/multiprecision/traits/explicit_conversion.hpp +67 -0
  193. mqt/core/include/mqt-core/boost/multiprecision/traits/extract_exponent_type.hpp +28 -0
  194. mqt/core/include/mqt-core/boost/multiprecision/traits/is_backend.hpp +91 -0
  195. mqt/core/include/mqt-core/boost/multiprecision/traits/is_byte_container.hpp +51 -0
  196. mqt/core/include/mqt-core/boost/multiprecision/traits/is_complex.hpp +22 -0
  197. mqt/core/include/mqt-core/boost/multiprecision/traits/is_convertible_arithmetic.hpp +51 -0
  198. mqt/core/include/mqt-core/boost/multiprecision/traits/is_restricted_conversion.hpp +47 -0
  199. mqt/core/include/mqt-core/boost/multiprecision/traits/is_variable_precision.hpp +25 -0
  200. mqt/core/include/mqt-core/boost/multiprecision/traits/max_digits10.hpp +79 -0
  201. mqt/core/include/mqt-core/boost/multiprecision/traits/std_integer_traits.hpp +90 -0
  202. mqt/core/include/mqt-core/boost/multiprecision/traits/transcendental_reduction_type.hpp +21 -0
  203. mqt/core/include/mqt-core/boost/version.hpp +32 -0
  204. mqt/core/include/mqt-core/circuit_optimizer/CircuitOptimizer.hpp +119 -0
  205. mqt/core/include/mqt-core/circuit_optimizer/mqt_core_circuit_optimizer_export.h +43 -0
  206. mqt/core/include/mqt-core/datastructures/DirectedAcyclicGraph.hpp +117 -0
  207. mqt/core/include/mqt-core/datastructures/DirectedGraph.hpp +158 -0
  208. mqt/core/include/mqt-core/datastructures/DisjointSet.hpp +50 -0
  209. mqt/core/include/mqt-core/datastructures/Layer.hpp +172 -0
  210. mqt/core/include/mqt-core/datastructures/SymmetricMatrix.hpp +57 -0
  211. mqt/core/include/mqt-core/datastructures/UndirectedGraph.hpp +227 -0
  212. mqt/core/include/mqt-core/datastructures/mqt_core_ds_export.h +43 -0
  213. mqt/core/include/mqt-core/dd/Approximation.hpp +45 -0
  214. mqt/core/include/mqt-core/dd/CachedEdge.hpp +174 -0
  215. mqt/core/include/mqt-core/dd/Complex.hpp +165 -0
  216. mqt/core/include/mqt-core/dd/ComplexNumbers.hpp +150 -0
  217. mqt/core/include/mqt-core/dd/ComplexValue.hpp +184 -0
  218. mqt/core/include/mqt-core/dd/ComputeTable.hpp +183 -0
  219. mqt/core/include/mqt-core/dd/DDDefinitions.hpp +139 -0
  220. mqt/core/include/mqt-core/dd/DDpackageConfig.hpp +104 -0
  221. mqt/core/include/mqt-core/dd/DensityNoiseTable.hpp +114 -0
  222. mqt/core/include/mqt-core/dd/Edge.hpp +416 -0
  223. mqt/core/include/mqt-core/dd/Export.hpp +438 -0
  224. mqt/core/include/mqt-core/dd/FunctionalityConstruction.hpp +75 -0
  225. mqt/core/include/mqt-core/dd/GateMatrixDefinitions.hpp +43 -0
  226. mqt/core/include/mqt-core/dd/LinkedListBase.hpp +45 -0
  227. mqt/core/include/mqt-core/dd/MemoryManager.hpp +193 -0
  228. mqt/core/include/mqt-core/dd/Node.hpp +223 -0
  229. mqt/core/include/mqt-core/dd/NoiseFunctionality.hpp +144 -0
  230. mqt/core/include/mqt-core/dd/Operations.hpp +306 -0
  231. mqt/core/include/mqt-core/dd/Package.hpp +2036 -0
  232. mqt/core/include/mqt-core/dd/Package_fwd.hpp +22 -0
  233. mqt/core/include/mqt-core/dd/RealNumber.hpp +255 -0
  234. mqt/core/include/mqt-core/dd/RealNumberUniqueTable.hpp +217 -0
  235. mqt/core/include/mqt-core/dd/Simulation.hpp +98 -0
  236. mqt/core/include/mqt-core/dd/StateGeneration.hpp +143 -0
  237. mqt/core/include/mqt-core/dd/StochasticNoiseOperationTable.hpp +88 -0
  238. mqt/core/include/mqt-core/dd/UnaryComputeTable.hpp +121 -0
  239. mqt/core/include/mqt-core/dd/UniqueTable.hpp +243 -0
  240. mqt/core/include/mqt-core/dd/mqt_core_dd_export.h +43 -0
  241. mqt/core/include/mqt-core/dd/statistics/MemoryManagerStatistics.hpp +84 -0
  242. mqt/core/include/mqt-core/dd/statistics/PackageStatistics.hpp +55 -0
  243. mqt/core/include/mqt-core/dd/statistics/Statistics.hpp +48 -0
  244. mqt/core/include/mqt-core/dd/statistics/TableStatistics.hpp +79 -0
  245. mqt/core/include/mqt-core/dd/statistics/UniqueTableStatistics.hpp +31 -0
  246. mqt/core/include/mqt-core/fomac/FoMaC.hpp +568 -0
  247. mqt/core/include/mqt-core/ir/Definitions.hpp +108 -0
  248. mqt/core/include/mqt-core/ir/Permutation.hpp +213 -0
  249. mqt/core/include/mqt-core/ir/QuantumComputation.hpp +595 -0
  250. mqt/core/include/mqt-core/ir/Register.hpp +125 -0
  251. mqt/core/include/mqt-core/ir/mqt_core_ir_export.h +43 -0
  252. mqt/core/include/mqt-core/ir/operations/AodOperation.hpp +92 -0
  253. mqt/core/include/mqt-core/ir/operations/CompoundOperation.hpp +212 -0
  254. mqt/core/include/mqt-core/ir/operations/Control.hpp +142 -0
  255. mqt/core/include/mqt-core/ir/operations/Expression.hpp +847 -0
  256. mqt/core/include/mqt-core/ir/operations/IfElseOperation.hpp +169 -0
  257. mqt/core/include/mqt-core/ir/operations/NonUnitaryOperation.hpp +118 -0
  258. mqt/core/include/mqt-core/ir/operations/OpType.hpp +118 -0
  259. mqt/core/include/mqt-core/ir/operations/OpType.inc +75 -0
  260. mqt/core/include/mqt-core/ir/operations/Operation.hpp +247 -0
  261. mqt/core/include/mqt-core/ir/operations/StandardOperation.hpp +140 -0
  262. mqt/core/include/mqt-core/ir/operations/SymbolicOperation.hpp +144 -0
  263. mqt/core/include/mqt-core/mqt_na_qdmi/device.h +602 -0
  264. mqt/core/include/mqt-core/mqt_na_qdmi/types.h +78 -0
  265. mqt/core/include/mqt-core/na/NAComputation.hpp +185 -0
  266. mqt/core/include/mqt-core/na/device/Device.hpp +410 -0
  267. mqt/core/include/mqt-core/na/device/DeviceMemberInitializers.hpp +724 -0
  268. mqt/core/include/mqt-core/na/device/Generator.hpp +447 -0
  269. mqt/core/include/mqt-core/na/entities/Atom.hpp +62 -0
  270. mqt/core/include/mqt-core/na/entities/Location.hpp +154 -0
  271. mqt/core/include/mqt-core/na/entities/Zone.hpp +95 -0
  272. mqt/core/include/mqt-core/na/fomac/Device.hpp +169 -0
  273. mqt/core/include/mqt-core/na/mqt_core_na_export.h +43 -0
  274. mqt/core/include/mqt-core/na/operations/GlobalCZOp.hpp +38 -0
  275. mqt/core/include/mqt-core/na/operations/GlobalOp.hpp +58 -0
  276. mqt/core/include/mqt-core/na/operations/GlobalRYOp.hpp +42 -0
  277. mqt/core/include/mqt-core/na/operations/LoadOp.hpp +89 -0
  278. mqt/core/include/mqt-core/na/operations/LocalOp.hpp +56 -0
  279. mqt/core/include/mqt-core/na/operations/LocalRZOp.hpp +42 -0
  280. mqt/core/include/mqt-core/na/operations/LocalUOp.hpp +49 -0
  281. mqt/core/include/mqt-core/na/operations/MoveOp.hpp +66 -0
  282. mqt/core/include/mqt-core/na/operations/Op.hpp +62 -0
  283. mqt/core/include/mqt-core/na/operations/ShuttlingOp.hpp +51 -0
  284. mqt/core/include/mqt-core/na/operations/StoreOp.hpp +87 -0
  285. mqt/core/include/mqt-core/qasm3/Exception.hpp +85 -0
  286. mqt/core/include/mqt-core/qasm3/Gate.hpp +65 -0
  287. mqt/core/include/mqt-core/qasm3/Importer.hpp +192 -0
  288. mqt/core/include/mqt-core/qasm3/InstVisitor.hpp +145 -0
  289. mqt/core/include/mqt-core/qasm3/NestedEnvironment.hpp +41 -0
  290. mqt/core/include/mqt-core/qasm3/Parser.hpp +170 -0
  291. mqt/core/include/mqt-core/qasm3/Scanner.hpp +73 -0
  292. mqt/core/include/mqt-core/qasm3/Statement.hpp +486 -0
  293. mqt/core/include/mqt-core/qasm3/Statement_fwd.hpp +39 -0
  294. mqt/core/include/mqt-core/qasm3/StdGates.hpp +123 -0
  295. mqt/core/include/mqt-core/qasm3/Token.hpp +198 -0
  296. mqt/core/include/mqt-core/qasm3/Types.hpp +238 -0
  297. mqt/core/include/mqt-core/qasm3/Types_fwd.hpp +22 -0
  298. mqt/core/include/mqt-core/qasm3/mqt_core_qasm_export.h +43 -0
  299. mqt/core/include/mqt-core/qasm3/passes/CompilerPass.hpp +22 -0
  300. mqt/core/include/mqt-core/qasm3/passes/ConstEvalPass.hpp +102 -0
  301. mqt/core/include/mqt-core/qasm3/passes/TypeCheckPass.hpp +124 -0
  302. mqt/core/include/mqt-core/qdmi/Driver.hpp +431 -0
  303. mqt/core/include/mqt-core/zx/FunctionalityConstruction.hpp +125 -0
  304. mqt/core/include/mqt-core/zx/Rational.hpp +318 -0
  305. mqt/core/include/mqt-core/zx/Rules.hpp +132 -0
  306. mqt/core/include/mqt-core/zx/Simplify.hpp +182 -0
  307. mqt/core/include/mqt-core/zx/Utils.hpp +212 -0
  308. mqt/core/include/mqt-core/zx/ZXDefinitions.hpp +93 -0
  309. mqt/core/include/mqt-core/zx/ZXDiagram.hpp +480 -0
  310. mqt/core/include/mqt-core/zx/mqt_core_zx_export.h +43 -0
  311. mqt/core/include/nlohmann/adl_serializer.hpp +55 -0
  312. mqt/core/include/nlohmann/byte_container_with_subtype.hpp +103 -0
  313. mqt/core/include/nlohmann/detail/abi_macros.hpp +111 -0
  314. mqt/core/include/nlohmann/detail/conversions/from_json.hpp +577 -0
  315. mqt/core/include/nlohmann/detail/conversions/to_chars.hpp +1118 -0
  316. mqt/core/include/nlohmann/detail/conversions/to_json.hpp +479 -0
  317. mqt/core/include/nlohmann/detail/exceptions.hpp +291 -0
  318. mqt/core/include/nlohmann/detail/hash.hpp +129 -0
  319. mqt/core/include/nlohmann/detail/input/binary_reader.hpp +3068 -0
  320. mqt/core/include/nlohmann/detail/input/input_adapters.hpp +549 -0
  321. mqt/core/include/nlohmann/detail/input/json_sax.hpp +986 -0
  322. mqt/core/include/nlohmann/detail/input/lexer.hpp +1643 -0
  323. mqt/core/include/nlohmann/detail/input/parser.hpp +519 -0
  324. mqt/core/include/nlohmann/detail/input/position_t.hpp +37 -0
  325. mqt/core/include/nlohmann/detail/iterators/internal_iterator.hpp +35 -0
  326. mqt/core/include/nlohmann/detail/iterators/iter_impl.hpp +760 -0
  327. mqt/core/include/nlohmann/detail/iterators/iteration_proxy.hpp +235 -0
  328. mqt/core/include/nlohmann/detail/iterators/iterator_traits.hpp +61 -0
  329. mqt/core/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +130 -0
  330. mqt/core/include/nlohmann/detail/iterators/primitive_iterator.hpp +132 -0
  331. mqt/core/include/nlohmann/detail/json_custom_base_class.hpp +39 -0
  332. mqt/core/include/nlohmann/detail/json_pointer.hpp +988 -0
  333. mqt/core/include/nlohmann/detail/json_ref.hpp +78 -0
  334. mqt/core/include/nlohmann/detail/macro_scope.hpp +595 -0
  335. mqt/core/include/nlohmann/detail/macro_unscope.hpp +46 -0
  336. mqt/core/include/nlohmann/detail/meta/call_std/begin.hpp +17 -0
  337. mqt/core/include/nlohmann/detail/meta/call_std/end.hpp +17 -0
  338. mqt/core/include/nlohmann/detail/meta/cpp_future.hpp +171 -0
  339. mqt/core/include/nlohmann/detail/meta/detected.hpp +70 -0
  340. mqt/core/include/nlohmann/detail/meta/identity_tag.hpp +21 -0
  341. mqt/core/include/nlohmann/detail/meta/is_sax.hpp +159 -0
  342. mqt/core/include/nlohmann/detail/meta/std_fs.hpp +29 -0
  343. mqt/core/include/nlohmann/detail/meta/type_traits.hpp +795 -0
  344. mqt/core/include/nlohmann/detail/meta/void_t.hpp +24 -0
  345. mqt/core/include/nlohmann/detail/output/binary_writer.hpp +1850 -0
  346. mqt/core/include/nlohmann/detail/output/output_adapters.hpp +147 -0
  347. mqt/core/include/nlohmann/detail/output/serializer.hpp +988 -0
  348. mqt/core/include/nlohmann/detail/string_concat.hpp +146 -0
  349. mqt/core/include/nlohmann/detail/string_escape.hpp +72 -0
  350. mqt/core/include/nlohmann/detail/string_utils.hpp +37 -0
  351. mqt/core/include/nlohmann/detail/value_t.hpp +118 -0
  352. mqt/core/include/nlohmann/json.hpp +5306 -0
  353. mqt/core/include/nlohmann/json_fwd.hpp +75 -0
  354. mqt/core/include/nlohmann/ordered_map.hpp +359 -0
  355. mqt/core/include/nlohmann/thirdparty/hedley/hedley.hpp +2045 -0
  356. mqt/core/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +158 -0
  357. mqt/core/include/qdmi/qdmi/client.h +990 -0
  358. mqt/core/include/qdmi/qdmi/constants.h +1139 -0
  359. mqt/core/include/qdmi/qdmi/device.h +602 -0
  360. mqt/core/include/qdmi/qdmi/types.h +78 -0
  361. mqt/core/include/spdlog/async.h +99 -0
  362. mqt/core/include/spdlog/async_logger-inl.h +84 -0
  363. mqt/core/include/spdlog/async_logger.h +74 -0
  364. mqt/core/include/spdlog/cfg/argv.h +40 -0
  365. mqt/core/include/spdlog/cfg/env.h +36 -0
  366. mqt/core/include/spdlog/cfg/helpers-inl.h +107 -0
  367. mqt/core/include/spdlog/cfg/helpers.h +29 -0
  368. mqt/core/include/spdlog/common-inl.h +68 -0
  369. mqt/core/include/spdlog/common.h +406 -0
  370. mqt/core/include/spdlog/details/backtracer-inl.h +63 -0
  371. mqt/core/include/spdlog/details/backtracer.h +45 -0
  372. mqt/core/include/spdlog/details/circular_q.h +115 -0
  373. mqt/core/include/spdlog/details/console_globals.h +28 -0
  374. mqt/core/include/spdlog/details/file_helper-inl.h +153 -0
  375. mqt/core/include/spdlog/details/file_helper.h +61 -0
  376. mqt/core/include/spdlog/details/fmt_helper.h +141 -0
  377. mqt/core/include/spdlog/details/log_msg-inl.h +44 -0
  378. mqt/core/include/spdlog/details/log_msg.h +40 -0
  379. mqt/core/include/spdlog/details/log_msg_buffer-inl.h +54 -0
  380. mqt/core/include/spdlog/details/log_msg_buffer.h +32 -0
  381. mqt/core/include/spdlog/details/mpmc_blocking_q.h +177 -0
  382. mqt/core/include/spdlog/details/null_mutex.h +35 -0
  383. mqt/core/include/spdlog/details/os-inl.h +606 -0
  384. mqt/core/include/spdlog/details/os.h +127 -0
  385. mqt/core/include/spdlog/details/periodic_worker-inl.h +26 -0
  386. mqt/core/include/spdlog/details/periodic_worker.h +58 -0
  387. mqt/core/include/spdlog/details/registry-inl.h +270 -0
  388. mqt/core/include/spdlog/details/registry.h +131 -0
  389. mqt/core/include/spdlog/details/synchronous_factory.h +22 -0
  390. mqt/core/include/spdlog/details/tcp_client-windows.h +135 -0
  391. mqt/core/include/spdlog/details/tcp_client.h +127 -0
  392. mqt/core/include/spdlog/details/thread_pool-inl.h +126 -0
  393. mqt/core/include/spdlog/details/thread_pool.h +117 -0
  394. mqt/core/include/spdlog/details/udp_client-windows.h +98 -0
  395. mqt/core/include/spdlog/details/udp_client.h +81 -0
  396. mqt/core/include/spdlog/details/windows_include.h +11 -0
  397. mqt/core/include/spdlog/fmt/bin_to_hex.h +224 -0
  398. mqt/core/include/spdlog/fmt/bundled/args.h +220 -0
  399. mqt/core/include/spdlog/fmt/bundled/base.h +2989 -0
  400. mqt/core/include/spdlog/fmt/bundled/chrono.h +2330 -0
  401. mqt/core/include/spdlog/fmt/bundled/color.h +637 -0
  402. mqt/core/include/spdlog/fmt/bundled/compile.h +539 -0
  403. mqt/core/include/spdlog/fmt/bundled/core.h +5 -0
  404. mqt/core/include/spdlog/fmt/bundled/fmt.license.rst +27 -0
  405. mqt/core/include/spdlog/fmt/bundled/format-inl.h +1948 -0
  406. mqt/core/include/spdlog/fmt/bundled/format.h +4244 -0
  407. mqt/core/include/spdlog/fmt/bundled/os.h +427 -0
  408. mqt/core/include/spdlog/fmt/bundled/ostream.h +167 -0
  409. mqt/core/include/spdlog/fmt/bundled/printf.h +633 -0
  410. mqt/core/include/spdlog/fmt/bundled/ranges.h +850 -0
  411. mqt/core/include/spdlog/fmt/bundled/std.h +728 -0
  412. mqt/core/include/spdlog/fmt/bundled/xchar.h +369 -0
  413. mqt/core/include/spdlog/fmt/chrono.h +23 -0
  414. mqt/core/include/spdlog/fmt/compile.h +23 -0
  415. mqt/core/include/spdlog/fmt/fmt.h +30 -0
  416. mqt/core/include/spdlog/fmt/ostr.h +23 -0
  417. mqt/core/include/spdlog/fmt/ranges.h +23 -0
  418. mqt/core/include/spdlog/fmt/std.h +24 -0
  419. mqt/core/include/spdlog/fmt/xchar.h +23 -0
  420. mqt/core/include/spdlog/formatter.h +17 -0
  421. mqt/core/include/spdlog/fwd.h +18 -0
  422. mqt/core/include/spdlog/logger-inl.h +198 -0
  423. mqt/core/include/spdlog/logger.h +379 -0
  424. mqt/core/include/spdlog/mdc.h +52 -0
  425. mqt/core/include/spdlog/pattern_formatter-inl.h +1340 -0
  426. mqt/core/include/spdlog/pattern_formatter.h +118 -0
  427. mqt/core/include/spdlog/sinks/android_sink.h +137 -0
  428. mqt/core/include/spdlog/sinks/ansicolor_sink-inl.h +142 -0
  429. mqt/core/include/spdlog/sinks/ansicolor_sink.h +116 -0
  430. mqt/core/include/spdlog/sinks/base_sink-inl.h +59 -0
  431. mqt/core/include/spdlog/sinks/base_sink.h +51 -0
  432. mqt/core/include/spdlog/sinks/basic_file_sink-inl.h +48 -0
  433. mqt/core/include/spdlog/sinks/basic_file_sink.h +66 -0
  434. mqt/core/include/spdlog/sinks/callback_sink.h +56 -0
  435. mqt/core/include/spdlog/sinks/daily_file_sink.h +254 -0
  436. mqt/core/include/spdlog/sinks/dist_sink.h +81 -0
  437. mqt/core/include/spdlog/sinks/dup_filter_sink.h +91 -0
  438. mqt/core/include/spdlog/sinks/hourly_file_sink.h +193 -0
  439. mqt/core/include/spdlog/sinks/kafka_sink.h +119 -0
  440. mqt/core/include/spdlog/sinks/mongo_sink.h +108 -0
  441. mqt/core/include/spdlog/sinks/msvc_sink.h +68 -0
  442. mqt/core/include/spdlog/sinks/null_sink.h +41 -0
  443. mqt/core/include/spdlog/sinks/ostream_sink.h +43 -0
  444. mqt/core/include/spdlog/sinks/qt_sinks.h +304 -0
  445. mqt/core/include/spdlog/sinks/ringbuffer_sink.h +67 -0
  446. mqt/core/include/spdlog/sinks/rotating_file_sink-inl.h +179 -0
  447. mqt/core/include/spdlog/sinks/rotating_file_sink.h +93 -0
  448. mqt/core/include/spdlog/sinks/sink-inl.h +22 -0
  449. mqt/core/include/spdlog/sinks/sink.h +34 -0
  450. mqt/core/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  451. mqt/core/include/spdlog/sinks/stdout_color_sinks.h +49 -0
  452. mqt/core/include/spdlog/sinks/stdout_sinks-inl.h +127 -0
  453. mqt/core/include/spdlog/sinks/stdout_sinks.h +84 -0
  454. mqt/core/include/spdlog/sinks/syslog_sink.h +104 -0
  455. mqt/core/include/spdlog/sinks/systemd_sink.h +121 -0
  456. mqt/core/include/spdlog/sinks/tcp_sink.h +75 -0
  457. mqt/core/include/spdlog/sinks/udp_sink.h +69 -0
  458. mqt/core/include/spdlog/sinks/win_eventlog_sink.h +260 -0
  459. mqt/core/include/spdlog/sinks/wincolor_sink-inl.h +172 -0
  460. mqt/core/include/spdlog/sinks/wincolor_sink.h +82 -0
  461. mqt/core/include/spdlog/spdlog-inl.h +96 -0
  462. mqt/core/include/spdlog/spdlog.h +357 -0
  463. mqt/core/include/spdlog/stopwatch.h +66 -0
  464. mqt/core/include/spdlog/tweakme.h +148 -0
  465. mqt/core/include/spdlog/version.h +11 -0
  466. mqt/core/ir/__init__.pyi +2036 -0
  467. mqt/core/ir/operations.pyi +1004 -0
  468. mqt/core/ir/registers.pyi +91 -0
  469. mqt/core/ir/symbolic.pyi +177 -0
  470. mqt/core/ir.cpython-314-darwin.so +0 -0
  471. mqt/core/lib/cmake/spdlog/spdlogConfig.cmake +44 -0
  472. mqt/core/lib/cmake/spdlog/spdlogConfigTargets-release.cmake +19 -0
  473. mqt/core/lib/cmake/spdlog/spdlogConfigTargets.cmake +116 -0
  474. mqt/core/lib/cmake/spdlog/spdlogConfigVersion.cmake +65 -0
  475. mqt/core/lib/libmqt-core-algorithms.3.3.0.dylib +0 -0
  476. mqt/core/lib/libmqt-core-algorithms.3.3.dylib +0 -0
  477. mqt/core/lib/libmqt-core-algorithms.dylib +0 -0
  478. mqt/core/lib/libmqt-core-circuit-optimizer.3.3.0.dylib +0 -0
  479. mqt/core/lib/libmqt-core-circuit-optimizer.3.3.dylib +0 -0
  480. mqt/core/lib/libmqt-core-circuit-optimizer.dylib +0 -0
  481. mqt/core/lib/libmqt-core-dd.3.3.0.dylib +0 -0
  482. mqt/core/lib/libmqt-core-dd.3.3.dylib +0 -0
  483. mqt/core/lib/libmqt-core-dd.dylib +0 -0
  484. mqt/core/lib/libmqt-core-ds.3.3.0.dylib +0 -0
  485. mqt/core/lib/libmqt-core-ds.3.3.dylib +0 -0
  486. mqt/core/lib/libmqt-core-ds.dylib +0 -0
  487. mqt/core/lib/libmqt-core-fomac.3.3.0.dylib +0 -0
  488. mqt/core/lib/libmqt-core-fomac.3.3.dylib +0 -0
  489. mqt/core/lib/libmqt-core-fomac.dylib +0 -0
  490. mqt/core/lib/libmqt-core-ir.3.3.0.dylib +0 -0
  491. mqt/core/lib/libmqt-core-ir.3.3.dylib +0 -0
  492. mqt/core/lib/libmqt-core-ir.dylib +0 -0
  493. mqt/core/lib/libmqt-core-na-fomac.3.3.0.dylib +0 -0
  494. mqt/core/lib/libmqt-core-na-fomac.3.3.dylib +0 -0
  495. mqt/core/lib/libmqt-core-na-fomac.dylib +0 -0
  496. mqt/core/lib/libmqt-core-na.3.3.0.dylib +0 -0
  497. mqt/core/lib/libmqt-core-na.3.3.dylib +0 -0
  498. mqt/core/lib/libmqt-core-na.dylib +0 -0
  499. mqt/core/lib/libmqt-core-qasm.3.3.0.dylib +0 -0
  500. mqt/core/lib/libmqt-core-qasm.3.3.dylib +0 -0
  501. mqt/core/lib/libmqt-core-qasm.dylib +0 -0
  502. mqt/core/lib/libmqt-core-qdmi-driver.3.3.0.dylib +0 -0
  503. mqt/core/lib/libmqt-core-qdmi-driver.3.3.dylib +0 -0
  504. mqt/core/lib/libmqt-core-qdmi-driver.dylib +0 -0
  505. mqt/core/lib/libmqt-core-qdmi-na-device-gen.a +0 -0
  506. mqt/core/lib/libmqt-core-qdmi-na-device.3.3.0.dylib +0 -0
  507. mqt/core/lib/libmqt-core-qdmi-na-device.3.3.dylib +0 -0
  508. mqt/core/lib/libmqt-core-qdmi-na-device.dylib +0 -0
  509. mqt/core/lib/libmqt-core-zx.3.3.0.dylib +0 -0
  510. mqt/core/lib/libmqt-core-zx.3.3.dylib +0 -0
  511. mqt/core/lib/libmqt-core-zx.dylib +0 -0
  512. mqt/core/lib/libspdlog.a +0 -0
  513. mqt/core/lib/pkgconfig/spdlog.pc +13 -0
  514. mqt/core/na/__init__.py +12 -0
  515. mqt/core/na/fomac.cpython-314-darwin.so +0 -0
  516. mqt/core/na/fomac.pyi +117 -0
  517. mqt/core/plugins/__init__.py +9 -0
  518. mqt/core/plugins/qiskit/__init__.py +19 -0
  519. mqt/core/plugins/qiskit/mqt_to_qiskit.py +418 -0
  520. mqt/core/plugins/qiskit/qiskit_to_mqt.py +558 -0
  521. mqt/core/py.typed +2 -0
  522. mqt/core/share/cmake/mqt-core/AddMQTPythonBinding.cmake +55 -0
  523. mqt/core/share/cmake/mqt-core/Cache.cmake +33 -0
  524. mqt/core/share/cmake/mqt-core/FindGMP.cmake +103 -0
  525. mqt/core/share/cmake/mqt-core/PackageAddTest.cmake +46 -0
  526. mqt/core/share/cmake/mqt-core/PreventInSourceBuilds.cmake +25 -0
  527. mqt/core/share/cmake/mqt-core/StandardProjectSettings.cmake +87 -0
  528. mqt/core/share/cmake/mqt-core/mqt-core-config-version.cmake +85 -0
  529. mqt/core/share/cmake/mqt-core/mqt-core-config.cmake +52 -0
  530. mqt/core/share/cmake/mqt-core/mqt-core-targets-release.cmake +141 -0
  531. mqt/core/share/cmake/mqt-core/mqt-core-targets.cmake +446 -0
  532. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake +15 -0
  533. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfigVersion.cmake +20 -0
  534. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonTargets.cmake +109 -0
  535. mqt/core/share/cmake/qdmi/Cache.cmake +44 -0
  536. mqt/core/share/cmake/qdmi/PrefixHandling.cmake +78 -0
  537. mqt/core/share/cmake/qdmi/prefix_defs.txt +26 -0
  538. mqt/core/share/cmake/qdmi/qdmi-config-version.cmake +85 -0
  539. mqt/core/share/cmake/qdmi/qdmi-config.cmake +42 -0
  540. mqt/core/share/cmake/qdmi/qdmi-targets.cmake +129 -0
  541. mqt/core/share/pkgconfig/nlohmann_json.pc +7 -0
  542. mqt_core-3.3.0.dist-info/METADATA +210 -0
  543. mqt_core-3.3.0.dist-info/RECORD +546 -0
  544. mqt_core-3.3.0.dist-info/WHEEL +6 -0
  545. mqt_core-3.3.0.dist-info/entry_points.txt +4 -0
  546. mqt_core-3.3.0.dist-info/licenses/LICENSE.md +22 -0
@@ -0,0 +1,44 @@
1
+ # ------------------------------------------------------------------------------
2
+ # Copyright 2024 Munich Quantum Software Stack Project
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 with LLVM Exceptions (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # https://github.com/Munich-Quantum-Software-Stack/QDMI/blob/develop/LICENSE
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+ #
16
+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
17
+ # ------------------------------------------------------------------------------
18
+
19
+ option(ENABLE_CACHE "Enable compiler cache if available" ON)
20
+ if(NOT ENABLE_CACHE)
21
+ return()
22
+ endif()
23
+
24
+ set(CACHE_OPTION_VALUES "ccache" "sccache")
25
+ set(CACHE_OPTION
26
+ "ccache"
27
+ CACHE STRING "Compiler cache to use")
28
+ set_property(CACHE CACHE_OPTION PROPERTY STRINGS ${CACHE_OPTION_VALUES})
29
+ list(FIND CACHE_OPTION_VALUES ${CACHE_OPTION} CACHE_OPTION_INDEX)
30
+ if(CACHE_OPTION_INDEX EQUAL -1)
31
+ message(
32
+ NOTICE
33
+ "Unknown compiler cache '${CACHE_OPTION}'. Available options are: ${CACHE_OPTION_VALUES}"
34
+ )
35
+ endif()
36
+
37
+ find_program(CACHE_BINARY ${CACHE_OPTION})
38
+ if(CACHE_BINARY)
39
+ message(STATUS "Compiler cache '${CACHE_OPTION}' found and enabled")
40
+ set(CMAKE_C_COMPILER_LAUNCHER ${CACHE_BINARY})
41
+ set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY})
42
+ else()
43
+ message(NOTICE "${CACHE_OPTION} is enabled but was not found. Not using it")
44
+ endif()
@@ -0,0 +1,78 @@
1
+ # ------------------------------------------------------------------------------
2
+ # Copyright 2024 Munich Quantum Software Stack Project
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 with LLVM Exceptions (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # https://github.com/Munich-Quantum-Software-Stack/QDMI/blob/develop/LICENSE
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+ #
16
+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
17
+ # ------------------------------------------------------------------------------
18
+
19
+ # A function for generating prefixed QDMI headers for a user-defined prefix.
20
+ function(generate_prefixed_qdmi_headers prefix)
21
+ # Get the lowercase version of the prefix.
22
+ string(TOLOWER ${prefix} QDMI_prefix)
23
+ # Get the list of all QDMI device headers.
24
+ file(GLOB_RECURSE QDMI_DEVICE_HEADERS ${QDMI_INCLUDE_BUILD_DIR}/qdmi/device.h
25
+ ${QDMI_INCLUDE_BUILD_DIR}/qdmi/types.h)
26
+ # Read the prefix definitions.
27
+ file(READ ${QDMI_CMAKE_DIR}/prefix_defs.txt replacements)
28
+ string(REPLACE "\n" ";" replacements "${replacements}")
29
+ foreach(header ${QDMI_DEVICE_HEADERS})
30
+ # Get the relative path of the header.
31
+ file(RELATIVE_PATH rel_header ${QDMI_INCLUDE_BUILD_DIR}/qdmi ${header})
32
+ get_filename_component(rel_dir ${rel_header} DIRECTORY)
33
+ # Create the directory for the prefixed header.
34
+ file(MAKE_DIRECTORY
35
+ ${CMAKE_CURRENT_BINARY_DIR}/include/${QDMI_prefix}_qdmi/${rel_dir})
36
+ # Read the header content.
37
+ file(READ ${header} header_content)
38
+ # Replace the include for the device header with the prefixed version.
39
+ string(
40
+ REGEX
41
+ REPLACE "#include (\"|<)qdmi/(device|types).h(\"|>)"
42
+ "#include \\1${QDMI_prefix}_qdmi/\\2.h\\3" header_content
43
+ "${header_content}")
44
+ # Replace the prefix definitions.
45
+ foreach(replacement ${replacements})
46
+ string(
47
+ REGEX
48
+ REPLACE "([^a-zA-Z0-9_])${replacement}([^a-zA-Z0-9_])"
49
+ "\\1${prefix}_${replacement}\\2" header_content
50
+ "${header_content}")
51
+ endforeach()
52
+ # Write the prefixed header.
53
+ file(WRITE
54
+ ${CMAKE_CURRENT_BINARY_DIR}/include/${QDMI_prefix}_qdmi/${rel_header}
55
+ "${header_content}")
56
+ endforeach()
57
+ endfunction()
58
+
59
+ # A function for generating test executables that check if all functions are
60
+ # implemented by a device.
61
+ #
62
+ # NOTE: The executables are not meant to be executed, only built.
63
+ function(generate_device_defs_executable prefix)
64
+ set(QDMI_PREFIX ${prefix})
65
+ # Get the lowercase version of the prefix.
66
+ string(TOLOWER ${prefix} QDMI_prefix)
67
+ # Create the test definitions file.
68
+ configure_file(${QDMI_TEST_DIR}/utils/test_defs.cpp.in
69
+ ${CMAKE_CURRENT_BINARY_DIR}/${QDMI_prefix}_test_defs.cpp @ONLY)
70
+ # Create the test executable.
71
+ add_executable(qdmi_test_${QDMI_prefix}_device_defs
72
+ ${CMAKE_CURRENT_BINARY_DIR}/${QDMI_prefix}_test_defs.cpp)
73
+ target_link_libraries(
74
+ qdmi_test_${QDMI_prefix}_device_defs
75
+ PRIVATE qdmi::qdmi qdmi::${QDMI_prefix}_device qdmi::project_warnings)
76
+ target_compile_features(qdmi_test_${QDMI_prefix}_device_defs
77
+ PRIVATE cxx_std_17)
78
+ endfunction()
@@ -0,0 +1,26 @@
1
+ QDMI_device_initialize
2
+ QDMI_device_finalize
3
+ QDMI_device_session_alloc
4
+ QDMI_device_session_init
5
+ QDMI_device_session_free
6
+ QDMI_device_session_set_parameter
7
+ QDMI_device_session_create_device_job
8
+ QDMI_device_job_free
9
+ QDMI_device_job_set_parameter
10
+ QDMI_device_job_query_property
11
+ QDMI_device_job_submit
12
+ QDMI_device_job_cancel
13
+ QDMI_device_job_check
14
+ QDMI_device_job_wait
15
+ QDMI_device_job_get_results
16
+ QDMI_device_session_query_device_property
17
+ QDMI_device_session_query_site_property
18
+ QDMI_device_session_query_operation_property
19
+ QDMI_Device_Session
20
+ QDMI_Device_Session_impl_d
21
+ QDMI_Device_Job
22
+ QDMI_Device_Job_impl_d
23
+ QDMI_Site
24
+ QDMI_Site_impl_d
25
+ QDMI_Operation
26
+ QDMI_Operation_impl_d
@@ -0,0 +1,85 @@
1
+ # This is a basic version file for the Config-mode of find_package().
2
+ # It is used by write_basic_package_version_file() as input file for configure_file()
3
+ # to create a version-file which can be installed along a config.cmake file.
4
+ #
5
+ # The created file sets PACKAGE_VERSION_EXACT if the current version string and
6
+ # the requested version string are exactly the same and it sets
7
+ # PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
8
+ # but only if the requested major and minor versions are the same as the current
9
+ # one.
10
+ # The variable CVF_VERSION must be set before calling configure_file().
11
+
12
+
13
+ set(PACKAGE_VERSION "1.2.0")
14
+
15
+ if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
16
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
17
+ else()
18
+
19
+ if("1.2.0" MATCHES "^([0-9]+)\\.([0-9]+)")
20
+ set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
21
+ set(CVF_VERSION_MINOR "${CMAKE_MATCH_2}")
22
+
23
+ if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
24
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
25
+ endif()
26
+ if(NOT CVF_VERSION_MINOR VERSION_EQUAL 0)
27
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MINOR "${CVF_VERSION_MINOR}")
28
+ endif()
29
+ else()
30
+ set(CVF_VERSION_MAJOR "1.2.0")
31
+ set(CVF_VERSION_MINOR "")
32
+ endif()
33
+
34
+ if(PACKAGE_FIND_VERSION_RANGE)
35
+ # both endpoints of the range must have the expected major and minor versions
36
+ math (EXPR CVF_VERSION_MINOR_NEXT "${CVF_VERSION_MINOR} + 1")
37
+ if (NOT (PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
38
+ AND PACKAGE_FIND_VERSION_MIN_MINOR STREQUAL CVF_VERSION_MINOR)
39
+ OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE"
40
+ AND NOT (PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR
41
+ AND PACKAGE_FIND_VERSION_MAX_MINOR STREQUAL CVF_VERSION_MINOR))
42
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE"
43
+ AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL ${CVF_VERSION_MAJOR}.${CVF_VERSION_MINOR_NEXT})))
44
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
45
+ elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
46
+ AND PACKAGE_FIND_VERSION_MIN_MINOR STREQUAL CVF_VERSION_MINOR
47
+ AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
48
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
49
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
50
+ else()
51
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
52
+ endif()
53
+ else()
54
+ if(NOT PACKAGE_FIND_VERSION_MAJOR VERSION_EQUAL 0)
55
+ string(REGEX REPLACE "^0+" "" PACKAGE_FIND_VERSION_MAJOR "${PACKAGE_FIND_VERSION_MAJOR}")
56
+ endif()
57
+ if(NOT PACKAGE_FIND_VERSION_MINOR VERSION_EQUAL 0)
58
+ string(REGEX REPLACE "^0+" "" PACKAGE_FIND_VERSION_MINOR "${PACKAGE_FIND_VERSION_MINOR}")
59
+ endif()
60
+
61
+ if((PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) AND
62
+ (PACKAGE_FIND_VERSION_MINOR STREQUAL CVF_VERSION_MINOR))
63
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
64
+ else()
65
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
66
+ endif()
67
+
68
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
69
+ set(PACKAGE_VERSION_EXACT TRUE)
70
+ endif()
71
+ endif()
72
+ endif()
73
+
74
+
75
+ # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
76
+ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
77
+ return()
78
+ endif()
79
+
80
+ # check that the installed version has the same 32/64bit-ness as the one which is currently searching:
81
+ if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
82
+ math(EXPR installedBits "8 * 8")
83
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
84
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
85
+ endif()
@@ -0,0 +1,42 @@
1
+ # ------------------------------------------------------------------------------
2
+ # Copyright 2024 Munich Quantum Software Stack Project
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 with LLVM Exceptions (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # https://github.com/Munich-Quantum-Software-Stack/QDMI/blob/develop/LICENSE
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+ #
16
+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
17
+ # ------------------------------------------------------------------------------
18
+
19
+ # A CMake config file for the library, to be used by external projects
20
+
21
+
22
+ ####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
23
+ ####### Any changes to this file will be overwritten by the next CMake run ####
24
+ ####### The input file was qdmi-config.cmake.in ########
25
+
26
+ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
27
+
28
+ ####################################################################################
29
+
30
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
31
+
32
+ if(TARGET qdmi::qdmi)
33
+ return()
34
+ endif()
35
+
36
+ include("${CMAKE_CURRENT_LIST_DIR}/Cache.cmake")
37
+ include("${CMAKE_CURRENT_LIST_DIR}/PrefixHandling.cmake")
38
+ include("${CMAKE_CURRENT_LIST_DIR}/qdmi-targets.cmake")
39
+
40
+ if(NOT qdmi_FIND_QUIETLY)
41
+ message(STATUS "Found qdmi version ${qdmi_VERSION}")
42
+ endif()
@@ -0,0 +1,129 @@
1
+ # Generated by CMake
2
+
3
+ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
4
+ message(FATAL_ERROR "CMake >= 3.0.0 required")
5
+ endif()
6
+ if(CMAKE_VERSION VERSION_LESS "3.0.0")
7
+ message(FATAL_ERROR "CMake >= 3.0.0 required")
8
+ endif()
9
+ cmake_policy(PUSH)
10
+ cmake_policy(VERSION 3.0.0...3.31)
11
+ #----------------------------------------------------------------
12
+ # Generated CMake target import file.
13
+ #----------------------------------------------------------------
14
+
15
+ # Commands may need to know the format version.
16
+ set(CMAKE_IMPORT_FILE_VERSION 1)
17
+
18
+ # Protect against multiple inclusion, which would fail when already imported targets are added once more.
19
+ set(_cmake_targets_defined "")
20
+ set(_cmake_targets_not_defined "")
21
+ set(_cmake_expected_targets "")
22
+ foreach(_cmake_expected_target IN ITEMS qdmi::qdmi qdmi::qdmi_project_warnings)
23
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
+ if(TARGET "${_cmake_expected_target}")
25
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
26
+ else()
27
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
28
+ endif()
29
+ endforeach()
30
+ unset(_cmake_expected_target)
31
+ if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
32
+ unset(_cmake_targets_defined)
33
+ unset(_cmake_targets_not_defined)
34
+ unset(_cmake_expected_targets)
35
+ unset(CMAKE_IMPORT_FILE_VERSION)
36
+ cmake_policy(POP)
37
+ return()
38
+ endif()
39
+ if(NOT _cmake_targets_defined STREQUAL "")
40
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
41
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
42
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
43
+ endif()
44
+ unset(_cmake_targets_defined)
45
+ unset(_cmake_targets_not_defined)
46
+ unset(_cmake_expected_targets)
47
+
48
+
49
+ # Compute the installation prefix relative to this file.
50
+ get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
51
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
52
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
53
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
54
+ if(_IMPORT_PREFIX STREQUAL "/")
55
+ set(_IMPORT_PREFIX "")
56
+ endif()
57
+
58
+ # Create imported target qdmi::qdmi
59
+ add_library(qdmi::qdmi INTERFACE IMPORTED)
60
+
61
+ set_target_properties(qdmi::qdmi PROPERTIES
62
+ INTERFACE_COMPILE_FEATURES "c_std_11"
63
+ INTERFACE_COMPILE_OPTIONS "-g"
64
+ )
65
+
66
+ if(NOT CMAKE_VERSION VERSION_LESS "3.23.0")
67
+ target_sources(qdmi::qdmi
68
+ INTERFACE
69
+ FILE_SET "HEADERS"
70
+ TYPE "HEADERS"
71
+ BASE_DIRS "${_IMPORT_PREFIX}/include/qdmi"
72
+ FILES "${_IMPORT_PREFIX}/include/qdmi/qdmi/client.h" "${_IMPORT_PREFIX}/include/qdmi/qdmi/constants.h" "${_IMPORT_PREFIX}/include/qdmi/qdmi/device.h" "${_IMPORT_PREFIX}/include/qdmi/qdmi/types.h"
73
+ )
74
+ else()
75
+ set_property(TARGET qdmi::qdmi
76
+ APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
77
+ "${_IMPORT_PREFIX}/include/qdmi"
78
+ )
79
+ endif()
80
+
81
+ # Create imported target qdmi::qdmi_project_warnings
82
+ add_library(qdmi::qdmi_project_warnings INTERFACE IMPORTED)
83
+
84
+ set_target_properties(qdmi::qdmi_project_warnings PROPERTIES
85
+ INTERFACE_COMPILE_OPTIONS "-Wall;-Wextra;-Wshadow;-Wcast-align;-Wno-unused;-Wpedantic;-Wconversion;-Wsign-conversion;-Wnull-dereference;-Wdouble-promotion;-Wformat=2;-Wno-unknown-pragmas;-Wno-pragmas;\$<\$<CXX_COMPILER_ID:AppleClang,Clang>:-Wno-unknown-warning-option>"
86
+ )
87
+
88
+ # Load information for each installed configuration.
89
+ file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/qdmi-targets-*.cmake")
90
+ foreach(_cmake_config_file IN LISTS _cmake_config_files)
91
+ include("${_cmake_config_file}")
92
+ endforeach()
93
+ unset(_cmake_config_file)
94
+ unset(_cmake_config_files)
95
+
96
+ # Cleanup temporary variables.
97
+ set(_IMPORT_PREFIX)
98
+
99
+ # Loop over all imported files and verify that they actually exist
100
+ foreach(_cmake_target IN LISTS _cmake_import_check_targets)
101
+ if(CMAKE_VERSION VERSION_LESS "3.28"
102
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
103
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
104
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
105
+ if(NOT EXISTS "${_cmake_file}")
106
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
107
+ \"${_cmake_file}\"
108
+ but this file does not exist. Possible reasons include:
109
+ * The file was deleted, renamed, or moved to another location.
110
+ * An install or uninstall procedure did not complete successfully.
111
+ * The installation package was faulty and contained
112
+ \"${CMAKE_CURRENT_LIST_FILE}\"
113
+ but not all the files it references.
114
+ ")
115
+ endif()
116
+ endforeach()
117
+ endif()
118
+ unset(_cmake_file)
119
+ unset("_cmake_import_check_files_for_${_cmake_target}")
120
+ endforeach()
121
+ unset(_cmake_target)
122
+ unset(_cmake_import_check_targets)
123
+
124
+ # This file does not depend on other imported targets which have
125
+ # been exported from the same project but in a separate export set.
126
+
127
+ # Commands beyond this point should not need to know the version.
128
+ set(CMAKE_IMPORT_FILE_VERSION)
129
+ cmake_policy(POP)
@@ -0,0 +1,7 @@
1
+ prefix=/var/folders/5k/fq5ptf2906bgfn1krb78bmj00000gn/T/tmp2p4swz7d/wheel/platlib/mqt/core
2
+ includedir=${prefix}/include
3
+
4
+ Name: nlohmann_json
5
+ Description: JSON for Modern C++
6
+ Version: 3.12.0
7
+ Cflags: -I${includedir}
@@ -0,0 +1,210 @@
1
+ Metadata-Version: 2.4
2
+ Name: mqt-core
3
+ Version: 3.3.0
4
+ Summary: The Backbone of the Munich Quantum Toolkit
5
+ Keywords: MQT,quantum-computing,design-automation,decision-diagrams,zx-calculus
6
+ Author-Email: Lukas Burgholzer <burgholzer@me.com>
7
+ License-Expression: MIT
8
+ License-File: LICENSE.md
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Natural Language :: English
12
+ Classifier: Operating System :: MacOS
13
+ Classifier: Operating System :: Microsoft :: Windows
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: C++
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
24
+ Classifier: Typing :: Typed
25
+ Project-URL: Homepage, https://github.com/munich-quantum-toolkit/core
26
+ Project-URL: Changelog, https://github.com/munich-quantum-toolkit/core/blob/main/CHANGELOG.md
27
+ Project-URL: Documentation, https://mqt.readthedocs.io/projects/core
28
+ Project-URL: Issues, https://github.com/munich-quantum-toolkit/core/issues
29
+ Project-URL: Discussions, https://github.com/munich-quantum-toolkit/core/discussions
30
+ Project-URL: PyPI, https://pypi.org/project/mqt-core/
31
+ Requires-Python: >=3.10
32
+ Provides-Extra: evaluation
33
+ Requires-Dist: pandas[output-formatting]>=2.1.2; extra == "evaluation"
34
+ Requires-Dist: pandas[output-formatting]>=2.2.3; python_version >= "3.13" and extra == "evaluation"
35
+ Requires-Dist: pandas[output-formatting]>=2.3.3; python_version >= "3.14" and extra == "evaluation"
36
+ Provides-Extra: qiskit
37
+ Requires-Dist: qiskit[qasm3-import]>=1.0.0; extra == "qiskit"
38
+ Description-Content-Type: text/markdown
39
+
40
+ [![PyPI](https://img.shields.io/pypi/v/mqt.core?logo=pypi&style=flat-square)](https://pypi.org/project/mqt.core/)
41
+ ![OS](https://img.shields.io/badge/os-linux%20%7C%20macos%20%7C%20windows-blue?style=flat-square)
42
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
43
+ [![DOI](https://img.shields.io/badge/JOSS-10.21105/joss.07478-blue.svg?style=flat-square)](https://doi.org/10.21105/joss.07478)
44
+ [![CI](https://img.shields.io/github/actions/workflow/status/munich-quantum-toolkit/core/ci.yml?branch=main&style=flat-square&logo=github&label=ci)](https://github.com/munich-quantum-toolkit/core/actions/workflows/ci.yml)
45
+ [![CD](https://img.shields.io/github/actions/workflow/status/munich-quantum-toolkit/core/cd.yml?style=flat-square&logo=github&label=cd)](https://github.com/munich-quantum-toolkit/core/actions/workflows/cd.yml)
46
+ [![Documentation](https://img.shields.io/readthedocs/mqt-core?logo=readthedocs&style=flat-square)](https://mqt.readthedocs.io/projects/core)
47
+ [![codecov](https://img.shields.io/codecov/c/github/munich-quantum-toolkit/core?style=flat-square&logo=codecov)](https://codecov.io/gh/munich-quantum-toolkit/core)
48
+
49
+ <p align="center">
50
+ <a href="https://mqt.readthedocs.io">
51
+ <picture>
52
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-dark.svg" width="60%">
53
+ <img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-light.svg" width="60%" alt="MQT Logo">
54
+ </picture>
55
+ </a>
56
+ </p>
57
+
58
+ # MQT Core - The Backbone of the Munich Quantum Toolkit (MQT)
59
+
60
+ MQT Core is an open-source C++20 and Python library for quantum computing that forms the backbone of the quantum software tools developed as part of the [_Munich Quantum Toolkit (MQT)_](https://mqt.readthedocs.io).
61
+
62
+ <p align="center">
63
+ <a href="https://mqt.readthedocs.io/projects/core">
64
+ <img width=30% src="https://img.shields.io/badge/documentation-blue?style=for-the-badge&logo=read%20the%20docs" alt="Documentation" />
65
+ </a>
66
+ </p>
67
+
68
+ ## Key Features
69
+
70
+ - Fully fledged intermediate representation (IR) for quantum computations.
71
+ - A state-of-the-art decision diagram (DD) package for quantum computing.
72
+ - A dedicated ZX-diagram package for working with the ZX-calculus.
73
+ - A QIR runtime based on the decision diagram package.
74
+
75
+ If you have any questions, feel free to create a [discussion](https://github.com/munich-quantum-toolkit/core/discussions) or an [issue](https://github.com/munich-quantum-toolkit/core/issues) on [GitHub](https://github.com/munich-quantum-toolkit/core).
76
+
77
+ ## Contributors and Supporters
78
+
79
+ The _[Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io)_ is developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/) and supported by the [Munich Quantum Software Company (MQSC)](https://munichquantum.software).
80
+ Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://www.munich-quantum-valley.de/research/research-areas/mqss) ecosystem, which is being developed as part of the [Munich Quantum Valley (MQV)](https://www.munich-quantum-valley.de) initiative.
81
+
82
+ <p align="center">
83
+ <picture>
84
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-dark.svg" width="90%">
85
+ <img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-light.svg" width="90%" alt="MQT Partner Logos">
86
+ </picture>
87
+ </p>
88
+
89
+ Thank you to all the contributors who have helped make MQT Core a reality!
90
+
91
+ <p align="center">
92
+ <a href="https://github.com/munich-quantum-toolkit/core/graphs/contributors">
93
+ <img src="https://contrib.rocks/image?repo=munich-quantum-toolkit/core" alt="Contributors to munich-quantum-toolkit/core" />
94
+ </a>
95
+ </p>
96
+
97
+ The MQT will remain free, open-source, and permissively licensed—now and in the future.
98
+ We are firmly committed to keeping it open and actively maintained for the quantum computing community.
99
+
100
+ To support this endeavor, please consider:
101
+
102
+ - Starring and sharing our repositories: https://github.com/munich-quantum-toolkit
103
+ - Contributing code, documentation, tests, or examples via issues and pull requests
104
+ - Citing the MQT in your publications (see [Cite This](#cite-this))
105
+ - Citing our research in your publications (see [References](https://mqt.readthedocs.io/projects/core/en/latest/references.html))
106
+ - Using the MQT in research and teaching, and sharing feedback and use cases
107
+ - Sponsoring us on GitHub: https://github.com/sponsors/munich-quantum-toolkit
108
+
109
+ <p align="center">
110
+ <a href="https://github.com/sponsors/munich-quantum-toolkit">
111
+ <img width=20% src="https://img.shields.io/badge/Sponsor-white?style=for-the-badge&logo=githubsponsors&labelColor=black&color=blue" alt="Sponsor the MQT" />
112
+ </a>
113
+ </p>
114
+
115
+ ## Getting Started
116
+
117
+ `mqt.core` is available via [PyPI](https://pypi.org/project/mqt.core/).
118
+
119
+ ```console
120
+ (.venv) $ pip install mqt.core
121
+ ```
122
+
123
+ The following code gives an example on the usage:
124
+
125
+ ```python3
126
+ from mqt.core import QuantumComputation
127
+
128
+ qc = QuantumComputation(2, 2)
129
+ qc.h(0)
130
+ qc.cx(0, 1)
131
+ qc.measure(range(2), range(2))
132
+
133
+ print(qc)
134
+ ```
135
+
136
+ **Detailed documentation and examples are available at [ReadTheDocs](https://mqt.readthedocs.io/projects/core).**
137
+
138
+ ## System Requirements
139
+
140
+ Building the project requires a C++ compiler with support for C++20 and CMake 3.24 or newer.
141
+ For details on how to build the project, please refer to the [documentation](https://mqt.readthedocs.io/projects/core).
142
+ Building (and running) is continuously tested under Linux, macOS, and Windows using the [latest available system versions for GitHub Actions](https://github.com/actions/runner-images).
143
+ MQT Core is compatible with all [officially supported Python versions](https://devguide.python.org/versions/).
144
+
145
+ The project relies on some external dependencies:
146
+
147
+ - [boost/multiprecision](https://github.com/boostorg/multiprecision): A library for multiprecision arithmetic (used in the ZX package).
148
+ - [nlohmann/json](https://github.com/nlohmann/json): A JSON library for modern C++.
149
+ - [pybind/pybind11_json](https://github.com/pybind/pybind11_json): A library for using `nlohmann::json` with `pybind11` (only used for creating the Python bindings).
150
+ - [google/googletest](https://github.com/google/googletest): A testing framework for C++ (only used in tests).
151
+
152
+ CMake will automatically look for installed versions of these libraries. If it does not find them, they will be fetched automatically at configure time via the [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html) module (check out the documentation for more information on how to customize this behavior).
153
+
154
+ It is recommended (although not required) to have [GraphViz](https://www.graphviz.org) installed for visualization purposes.
155
+
156
+ If you want to use the ZX library, it is recommended (although not strictly necessary) to have [GMP](https://gmplib.org/) installed in your system.
157
+
158
+ ## Cite This
159
+
160
+ Please cite the work that best fits your use case.
161
+
162
+ ### MQT Core (the tool)
163
+
164
+ When citing the software itself or results produced with it, cite the MQT Core paper:
165
+
166
+ ```bibtex
167
+ @article{burgholzer2025MQTCore,
168
+ title = {{{MQT Core}}: {{The}} Backbone of the {{Munich Quantum Toolkit (MQT)}}},
169
+ author = {Burgholzer, Lukas and Stade, Yannick and Peham, Tom and Wille, Robert},
170
+ year = 2025,
171
+ journal = {Journal of Open Source Software},
172
+ publisher = {The Open Journal},
173
+ volume = 10,
174
+ number = 108,
175
+ pages = 7478,
176
+ doi = {10.21105/joss.07478},
177
+ url = {https://doi.org/10.21105/joss.07478}
178
+ }
179
+ ```
180
+
181
+ ### The Munich Quantum Toolkit (the project)
182
+
183
+ When discussing the overall MQT project or its ecosystem, cite the MQT Handbook:
184
+
185
+ ```bibtex
186
+ @inproceedings{mqt,
187
+ title = {The {{MQT}} Handbook: {{A}} Summary of Design Automation Tools and Software for Quantum Computing},
188
+ shorttitle = {{The MQT Handbook}},
189
+ author = {Wille, Robert and Berent, Lucas and Forster, Tobias and Kunasaikaran, Jagatheesan and Mato, Kevin and Peham, Tom and Quetschlich, Nils and Rovara, Damian and Sander, Aaron and Schmid, Ludwig and Schoenberger, Daniel and Stade, Yannick and Burgholzer, Lukas},
190
+ year = 2024,
191
+ booktitle = {IEEE International Conference on Quantum Software (QSW)},
192
+ doi = {10.1109/QSW62656.2024.00013},
193
+ eprint = {2405.17543},
194
+ eprinttype = {arxiv},
195
+ addendum = {A live version of this document is available at \url{https://mqt.readthedocs.io}}
196
+ }
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Acknowledgements
202
+
203
+ The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
204
+
205
+ <p align="center">
206
+ <picture>
207
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-funding-footer-dark.svg" width="90%">
208
+ <img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-funding-footer-light.svg" width="90%" alt="MQT Funding Footer">
209
+ </picture>
210
+ </p>