mqt-core 3.2.0__cp313-cp313-win_amd64.whl → 3.3.0__cp313-cp313-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 mqt-core might be problematic. Click here for more details.

Files changed (249) hide show
  1. mqt/core/__init__.py +3 -3
  2. mqt/core/_commands.py +2 -2
  3. mqt/core/_version.py +16 -3
  4. mqt/core/bin/mqt-core-algorithms.dll +0 -0
  5. mqt/core/bin/mqt-core-circuit-optimizer.dll +0 -0
  6. mqt/core/bin/mqt-core-dd.dll +0 -0
  7. mqt/core/bin/mqt-core-ds.dll +0 -0
  8. mqt/core/bin/mqt-core-fomac.dll +0 -0
  9. mqt/core/bin/mqt-core-ir.dll +0 -0
  10. mqt/core/bin/mqt-core-na-fomac.dll +0 -0
  11. mqt/core/bin/mqt-core-na.dll +0 -0
  12. mqt/core/bin/mqt-core-qasm.dll +0 -0
  13. mqt/core/bin/mqt-core-qdmi-driver.dll +0 -0
  14. mqt/core/bin/mqt-core-qdmi-na-device.dll +0 -0
  15. mqt/core/bin/mqt-core-zx.dll +0 -0
  16. mqt/core/dd.cp313-win_amd64.pyd +0 -0
  17. mqt/core/dd.pyi +5 -7
  18. mqt/core/fomac.cp313-win_amd64.pyd +0 -0
  19. mqt/core/fomac.pyi +125 -0
  20. mqt/core/include/mqt-core/circuit_optimizer/CircuitOptimizer.hpp +13 -0
  21. mqt/core/include/mqt-core/datastructures/DirectedGraph.hpp +1 -1
  22. mqt/core/include/mqt-core/datastructures/UndirectedGraph.hpp +1 -1
  23. mqt/core/include/mqt-core/dd/CachedEdge.hpp +7 -0
  24. mqt/core/include/mqt-core/dd/Operations.hpp +12 -14
  25. mqt/core/include/mqt-core/dd/Package.hpp +1 -1
  26. mqt/core/include/mqt-core/fomac/FoMaC.hpp +568 -0
  27. mqt/core/include/mqt-core/ir/QuantumComputation.hpp +29 -28
  28. mqt/core/include/mqt-core/ir/operations/CompoundOperation.hpp +2 -0
  29. mqt/core/include/mqt-core/ir/operations/IfElseOperation.hpp +169 -0
  30. mqt/core/include/mqt-core/ir/operations/OpType.hpp +3 -0
  31. mqt/core/include/mqt-core/ir/operations/OpType.inc +2 -2
  32. mqt/core/include/mqt-core/ir/operations/Operation.hpp +3 -1
  33. mqt/core/include/mqt-core/ir/operations/StandardOperation.hpp +2 -0
  34. mqt/core/include/mqt-core/mqt_na_qdmi/device.h +602 -0
  35. mqt/core/include/mqt-core/mqt_na_qdmi/types.h +78 -0
  36. mqt/core/include/mqt-core/na/device/Device.hpp +410 -0
  37. mqt/core/include/mqt-core/na/device/DeviceMemberInitializers.hpp +724 -0
  38. mqt/core/include/mqt-core/na/device/Generator.hpp +447 -0
  39. mqt/core/include/mqt-core/na/fomac/Device.hpp +169 -0
  40. mqt/core/include/mqt-core/qdmi/Driver.hpp +431 -0
  41. mqt/core/include/nlohmann/adl_serializer.hpp +55 -0
  42. mqt/core/include/nlohmann/byte_container_with_subtype.hpp +103 -0
  43. mqt/core/include/nlohmann/detail/abi_macros.hpp +111 -0
  44. mqt/core/include/nlohmann/detail/conversions/from_json.hpp +577 -0
  45. mqt/core/include/nlohmann/detail/conversions/to_chars.hpp +1118 -0
  46. mqt/core/include/nlohmann/detail/conversions/to_json.hpp +479 -0
  47. mqt/core/include/nlohmann/detail/exceptions.hpp +291 -0
  48. mqt/core/include/nlohmann/detail/hash.hpp +129 -0
  49. mqt/core/include/nlohmann/detail/input/binary_reader.hpp +3068 -0
  50. mqt/core/include/nlohmann/detail/input/input_adapters.hpp +549 -0
  51. mqt/core/include/nlohmann/detail/input/json_sax.hpp +986 -0
  52. mqt/core/include/nlohmann/detail/input/lexer.hpp +1643 -0
  53. mqt/core/include/nlohmann/detail/input/parser.hpp +519 -0
  54. mqt/core/include/nlohmann/detail/input/position_t.hpp +37 -0
  55. mqt/core/include/nlohmann/detail/iterators/internal_iterator.hpp +35 -0
  56. mqt/core/include/nlohmann/detail/iterators/iter_impl.hpp +760 -0
  57. mqt/core/include/nlohmann/detail/iterators/iteration_proxy.hpp +235 -0
  58. mqt/core/include/nlohmann/detail/iterators/iterator_traits.hpp +61 -0
  59. mqt/core/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +130 -0
  60. mqt/core/include/nlohmann/detail/iterators/primitive_iterator.hpp +132 -0
  61. mqt/core/include/nlohmann/detail/json_custom_base_class.hpp +39 -0
  62. mqt/core/include/nlohmann/detail/json_pointer.hpp +988 -0
  63. mqt/core/include/nlohmann/detail/json_ref.hpp +78 -0
  64. mqt/core/include/nlohmann/detail/macro_scope.hpp +595 -0
  65. mqt/core/include/nlohmann/detail/macro_unscope.hpp +46 -0
  66. mqt/core/include/nlohmann/detail/meta/call_std/begin.hpp +17 -0
  67. mqt/core/include/nlohmann/detail/meta/call_std/end.hpp +17 -0
  68. mqt/core/include/nlohmann/detail/meta/cpp_future.hpp +171 -0
  69. mqt/core/include/nlohmann/detail/meta/detected.hpp +70 -0
  70. mqt/core/include/nlohmann/detail/meta/identity_tag.hpp +21 -0
  71. mqt/core/include/nlohmann/detail/meta/is_sax.hpp +159 -0
  72. mqt/core/include/nlohmann/detail/meta/std_fs.hpp +29 -0
  73. mqt/core/include/nlohmann/detail/meta/type_traits.hpp +795 -0
  74. mqt/core/include/nlohmann/detail/meta/void_t.hpp +24 -0
  75. mqt/core/include/nlohmann/detail/output/binary_writer.hpp +1850 -0
  76. mqt/core/include/nlohmann/detail/output/output_adapters.hpp +147 -0
  77. mqt/core/include/nlohmann/detail/output/serializer.hpp +988 -0
  78. mqt/core/include/nlohmann/detail/string_concat.hpp +146 -0
  79. mqt/core/include/nlohmann/detail/string_escape.hpp +72 -0
  80. mqt/core/include/nlohmann/detail/string_utils.hpp +37 -0
  81. mqt/core/include/nlohmann/detail/value_t.hpp +118 -0
  82. mqt/core/include/nlohmann/json.hpp +5306 -0
  83. mqt/core/include/nlohmann/json_fwd.hpp +75 -0
  84. mqt/core/include/nlohmann/ordered_map.hpp +359 -0
  85. mqt/core/include/nlohmann/thirdparty/hedley/hedley.hpp +2045 -0
  86. mqt/core/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +158 -0
  87. mqt/core/include/qdmi/qdmi/client.h +990 -0
  88. mqt/core/include/qdmi/qdmi/constants.h +1139 -0
  89. mqt/core/include/qdmi/qdmi/device.h +602 -0
  90. mqt/core/include/qdmi/qdmi/types.h +78 -0
  91. mqt/core/include/spdlog/async.h +99 -0
  92. mqt/core/include/spdlog/async_logger-inl.h +84 -0
  93. mqt/core/include/spdlog/async_logger.h +74 -0
  94. mqt/core/include/spdlog/cfg/argv.h +40 -0
  95. mqt/core/include/spdlog/cfg/env.h +36 -0
  96. mqt/core/include/spdlog/cfg/helpers-inl.h +107 -0
  97. mqt/core/include/spdlog/cfg/helpers.h +29 -0
  98. mqt/core/include/spdlog/common-inl.h +68 -0
  99. mqt/core/include/spdlog/common.h +406 -0
  100. mqt/core/include/spdlog/details/backtracer-inl.h +63 -0
  101. mqt/core/include/spdlog/details/backtracer.h +45 -0
  102. mqt/core/include/spdlog/details/circular_q.h +115 -0
  103. mqt/core/include/spdlog/details/console_globals.h +28 -0
  104. mqt/core/include/spdlog/details/file_helper-inl.h +153 -0
  105. mqt/core/include/spdlog/details/file_helper.h +61 -0
  106. mqt/core/include/spdlog/details/fmt_helper.h +141 -0
  107. mqt/core/include/spdlog/details/log_msg-inl.h +44 -0
  108. mqt/core/include/spdlog/details/log_msg.h +40 -0
  109. mqt/core/include/spdlog/details/log_msg_buffer-inl.h +54 -0
  110. mqt/core/include/spdlog/details/log_msg_buffer.h +32 -0
  111. mqt/core/include/spdlog/details/mpmc_blocking_q.h +177 -0
  112. mqt/core/include/spdlog/details/null_mutex.h +35 -0
  113. mqt/core/include/spdlog/details/os-inl.h +606 -0
  114. mqt/core/include/spdlog/details/os.h +127 -0
  115. mqt/core/include/spdlog/details/periodic_worker-inl.h +26 -0
  116. mqt/core/include/spdlog/details/periodic_worker.h +58 -0
  117. mqt/core/include/spdlog/details/registry-inl.h +270 -0
  118. mqt/core/include/spdlog/details/registry.h +131 -0
  119. mqt/core/include/spdlog/details/synchronous_factory.h +22 -0
  120. mqt/core/include/spdlog/details/tcp_client-windows.h +135 -0
  121. mqt/core/include/spdlog/details/tcp_client.h +127 -0
  122. mqt/core/include/spdlog/details/thread_pool-inl.h +126 -0
  123. mqt/core/include/spdlog/details/thread_pool.h +117 -0
  124. mqt/core/include/spdlog/details/udp_client-windows.h +98 -0
  125. mqt/core/include/spdlog/details/udp_client.h +81 -0
  126. mqt/core/include/spdlog/details/windows_include.h +11 -0
  127. mqt/core/include/spdlog/fmt/bin_to_hex.h +224 -0
  128. mqt/core/include/spdlog/fmt/bundled/args.h +220 -0
  129. mqt/core/include/spdlog/fmt/bundled/base.h +2989 -0
  130. mqt/core/include/spdlog/fmt/bundled/chrono.h +2330 -0
  131. mqt/core/include/spdlog/fmt/bundled/color.h +637 -0
  132. mqt/core/include/spdlog/fmt/bundled/compile.h +539 -0
  133. mqt/core/include/spdlog/fmt/bundled/core.h +5 -0
  134. mqt/core/include/spdlog/fmt/bundled/fmt.license.rst +27 -0
  135. mqt/core/include/spdlog/fmt/bundled/format-inl.h +1948 -0
  136. mqt/core/include/spdlog/fmt/bundled/format.h +4244 -0
  137. mqt/core/include/spdlog/fmt/bundled/os.h +427 -0
  138. mqt/core/include/spdlog/fmt/bundled/ostream.h +167 -0
  139. mqt/core/include/spdlog/fmt/bundled/printf.h +633 -0
  140. mqt/core/include/spdlog/fmt/bundled/ranges.h +850 -0
  141. mqt/core/include/spdlog/fmt/bundled/std.h +728 -0
  142. mqt/core/include/spdlog/fmt/bundled/xchar.h +369 -0
  143. mqt/core/include/spdlog/fmt/chrono.h +23 -0
  144. mqt/core/include/spdlog/fmt/compile.h +23 -0
  145. mqt/core/include/spdlog/fmt/fmt.h +30 -0
  146. mqt/core/include/spdlog/fmt/ostr.h +23 -0
  147. mqt/core/include/spdlog/fmt/ranges.h +23 -0
  148. mqt/core/include/spdlog/fmt/std.h +24 -0
  149. mqt/core/include/spdlog/fmt/xchar.h +23 -0
  150. mqt/core/include/spdlog/formatter.h +17 -0
  151. mqt/core/include/spdlog/fwd.h +18 -0
  152. mqt/core/include/spdlog/logger-inl.h +198 -0
  153. mqt/core/include/spdlog/logger.h +379 -0
  154. mqt/core/include/spdlog/mdc.h +52 -0
  155. mqt/core/include/spdlog/pattern_formatter-inl.h +1340 -0
  156. mqt/core/include/spdlog/pattern_formatter.h +118 -0
  157. mqt/core/include/spdlog/sinks/android_sink.h +137 -0
  158. mqt/core/include/spdlog/sinks/ansicolor_sink-inl.h +142 -0
  159. mqt/core/include/spdlog/sinks/ansicolor_sink.h +116 -0
  160. mqt/core/include/spdlog/sinks/base_sink-inl.h +59 -0
  161. mqt/core/include/spdlog/sinks/base_sink.h +51 -0
  162. mqt/core/include/spdlog/sinks/basic_file_sink-inl.h +48 -0
  163. mqt/core/include/spdlog/sinks/basic_file_sink.h +66 -0
  164. mqt/core/include/spdlog/sinks/callback_sink.h +56 -0
  165. mqt/core/include/spdlog/sinks/daily_file_sink.h +254 -0
  166. mqt/core/include/spdlog/sinks/dist_sink.h +81 -0
  167. mqt/core/include/spdlog/sinks/dup_filter_sink.h +91 -0
  168. mqt/core/include/spdlog/sinks/hourly_file_sink.h +193 -0
  169. mqt/core/include/spdlog/sinks/kafka_sink.h +119 -0
  170. mqt/core/include/spdlog/sinks/mongo_sink.h +108 -0
  171. mqt/core/include/spdlog/sinks/msvc_sink.h +68 -0
  172. mqt/core/include/spdlog/sinks/null_sink.h +41 -0
  173. mqt/core/include/spdlog/sinks/ostream_sink.h +43 -0
  174. mqt/core/include/spdlog/sinks/qt_sinks.h +304 -0
  175. mqt/core/include/spdlog/sinks/ringbuffer_sink.h +67 -0
  176. mqt/core/include/spdlog/sinks/rotating_file_sink-inl.h +179 -0
  177. mqt/core/include/spdlog/sinks/rotating_file_sink.h +93 -0
  178. mqt/core/include/spdlog/sinks/sink-inl.h +22 -0
  179. mqt/core/include/spdlog/sinks/sink.h +34 -0
  180. mqt/core/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  181. mqt/core/include/spdlog/sinks/stdout_color_sinks.h +49 -0
  182. mqt/core/include/spdlog/sinks/stdout_sinks-inl.h +127 -0
  183. mqt/core/include/spdlog/sinks/stdout_sinks.h +84 -0
  184. mqt/core/include/spdlog/sinks/syslog_sink.h +104 -0
  185. mqt/core/include/spdlog/sinks/systemd_sink.h +121 -0
  186. mqt/core/include/spdlog/sinks/tcp_sink.h +75 -0
  187. mqt/core/include/spdlog/sinks/udp_sink.h +69 -0
  188. mqt/core/include/spdlog/sinks/win_eventlog_sink.h +260 -0
  189. mqt/core/include/spdlog/sinks/wincolor_sink-inl.h +172 -0
  190. mqt/core/include/spdlog/sinks/wincolor_sink.h +82 -0
  191. mqt/core/include/spdlog/spdlog-inl.h +96 -0
  192. mqt/core/include/spdlog/spdlog.h +357 -0
  193. mqt/core/include/spdlog/stopwatch.h +66 -0
  194. mqt/core/include/spdlog/tweakme.h +148 -0
  195. mqt/core/include/spdlog/version.h +11 -0
  196. mqt/core/ir/__init__.pyi +83 -45
  197. mqt/core/ir/operations.pyi +40 -27
  198. mqt/core/ir.cp313-win_amd64.pyd +0 -0
  199. mqt/core/lib/cmake/spdlog/spdlogConfig.cmake +44 -0
  200. mqt/core/lib/cmake/spdlog/spdlogConfigTargets-release.cmake +19 -0
  201. mqt/core/lib/cmake/spdlog/spdlogConfigTargets.cmake +119 -0
  202. mqt/core/lib/cmake/spdlog/spdlogConfigVersion.cmake +65 -0
  203. mqt/core/lib/mqt-core-algorithms.lib +0 -0
  204. mqt/core/lib/mqt-core-circuit-optimizer.lib +0 -0
  205. mqt/core/lib/mqt-core-dd.lib +0 -0
  206. mqt/core/lib/mqt-core-ds.lib +0 -0
  207. mqt/core/lib/mqt-core-fomac.lib +0 -0
  208. mqt/core/lib/mqt-core-ir.lib +0 -0
  209. mqt/core/lib/mqt-core-na-fomac.lib +0 -0
  210. mqt/core/lib/mqt-core-na.lib +0 -0
  211. mqt/core/lib/mqt-core-qasm.lib +0 -0
  212. mqt/core/lib/mqt-core-qdmi-driver.lib +0 -0
  213. mqt/core/lib/mqt-core-qdmi-na-device-gen.lib +0 -0
  214. mqt/core/lib/mqt-core-qdmi-na-device.lib +0 -0
  215. mqt/core/lib/mqt-core-zx.lib +0 -0
  216. mqt/core/lib/pkgconfig/spdlog.pc +13 -0
  217. mqt/core/lib/spdlog.lib +0 -0
  218. mqt/core/na/__init__.py +12 -0
  219. mqt/core/na/fomac.cp313-win_amd64.pyd +0 -0
  220. mqt/core/na/fomac.pyi +117 -0
  221. mqt/core/nlohmann_json.natvis +278 -0
  222. mqt/core/plugins/qiskit/mqt_to_qiskit.py +75 -11
  223. mqt/core/plugins/qiskit/qiskit_to_mqt.py +108 -5
  224. mqt/core/share/cmake/mqt-core/AddMQTPythonBinding.cmake +3 -0
  225. mqt/core/share/cmake/mqt-core/Cache.cmake +17 -16
  226. mqt/core/share/cmake/mqt-core/PackageAddTest.cmake +6 -0
  227. mqt/core/share/cmake/mqt-core/StandardProjectSettings.cmake +1 -1
  228. mqt/core/share/cmake/mqt-core/mqt-core-config-version.cmake +3 -3
  229. mqt/core/share/cmake/mqt-core/mqt-core-config.cmake +3 -0
  230. mqt/core/share/cmake/mqt-core/mqt-core-targets-release.cmake +51 -0
  231. mqt/core/share/cmake/mqt-core/mqt-core-targets.cmake +124 -3
  232. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake +15 -0
  233. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfigVersion.cmake +20 -0
  234. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonTargets.cmake +110 -0
  235. mqt/core/share/cmake/qdmi/Cache.cmake +44 -0
  236. mqt/core/share/cmake/qdmi/PrefixHandling.cmake +78 -0
  237. mqt/core/share/cmake/qdmi/prefix_defs.txt +26 -0
  238. mqt/core/share/cmake/qdmi/qdmi-config-version.cmake +85 -0
  239. mqt/core/share/cmake/qdmi/qdmi-config.cmake +42 -0
  240. mqt/core/share/cmake/qdmi/qdmi-targets.cmake +129 -0
  241. mqt/core/share/pkgconfig/nlohmann_json.pc +7 -0
  242. mqt_core-3.3.0.dist-info/DELVEWHEEL +2 -0
  243. {mqt_core-3.2.0.dist-info → mqt_core-3.3.0.dist-info}/METADATA +74 -33
  244. {mqt_core-3.2.0.dist-info → mqt_core-3.3.0.dist-info}/RECORD +247 -53
  245. {mqt_core-3.2.0.dist-info → mqt_core-3.3.0.dist-info}/WHEEL +1 -1
  246. mqt/core/include/mqt-core/ir/operations/ClassicControlledOperation.hpp +0 -156
  247. mqt_core-3.2.0.dist-info/DELVEWHEEL +0 -2
  248. {mqt_core-3.2.0.dist-info → mqt_core-3.3.0.dist-info}/entry_points.txt +0 -0
  249. {mqt_core-3.2.0.dist-info → mqt_core-3.3.0.dist-info}/licenses/LICENSE.md +0 -0
mqt/core/ir/__init__.pyi CHANGED
@@ -1864,33 +1864,71 @@ class QuantumComputation(MutableSequence[Operation]):
1864
1864
  """
1865
1865
 
1866
1866
  @overload
1867
- def classic_controlled(
1867
+ def if_else(
1868
1868
  self,
1869
- op: OpType,
1869
+ then_operation: Operation,
1870
+ else_operation: Operation | None,
1871
+ control_register: ClassicalRegister,
1872
+ expected_value: int = 1,
1873
+ comparison_kind: ComparisonKind = ComparisonKind.eq,
1874
+ ) -> None:
1875
+ """Add an if-else operation to the circuit.
1876
+
1877
+ Args:
1878
+ then_operation: The operation to apply if the condition is met
1879
+ else_operation: The operation to apply if the condition is not met
1880
+ control_register: The classical register to check against
1881
+ expected_value: The expected value of the control register
1882
+ comparison_kind: The kind of comparison to perform
1883
+ """
1884
+
1885
+ @overload
1886
+ def if_else(
1887
+ self,
1888
+ then_operation: Operation,
1889
+ else_operation: Operation | None,
1890
+ control_bit: int,
1891
+ expected_value: int = 1,
1892
+ comparison_kind: ComparisonKind = ComparisonKind.eq,
1893
+ ) -> None:
1894
+ """Add an if-else operation to the circuit.
1895
+
1896
+ Args:
1897
+ then_operation: The operation to apply if the condition is met
1898
+ else_operation: The operation to apply if the condition is not met
1899
+ control_bit: The index of the classical bit to check against
1900
+ expected_value: The expected value of the control bit
1901
+ comparison_kind: The kind of comparison to perform
1902
+ """
1903
+
1904
+ @overload
1905
+ def if_(
1906
+ self,
1907
+ op_type: OpType,
1870
1908
  target: int,
1871
- creg: ClassicalRegister,
1909
+ control_register: ClassicalRegister,
1872
1910
  expected_value: int = 1,
1873
1911
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1874
1912
  params: Sequence[float] = (),
1875
1913
  ) -> None:
1876
- """Add a classic-controlled operation to the circuit.
1914
+ """Add an if operartion to the circuit.
1877
1915
 
1878
1916
  Args:
1879
- op: The operation to apply
1917
+ op_type: The operation to apply
1880
1918
  target: The target qubit
1881
- creg: The classical register
1882
- expected_value: The expected value of the classical register
1919
+ control_register: The classical register to check against
1920
+ expected_value: The expected value of the control register
1883
1921
  comparison_kind: The kind of comparison to perform
1884
1922
  params: The parameters of the operation
1885
1923
  """
1886
1924
 
1887
1925
  @overload
1888
- def classic_controlled(
1926
+ def if_(
1889
1927
  self,
1890
- op: OpType,
1928
+ op_type: OpType,
1891
1929
  target: int,
1892
1930
  control: Control | int,
1893
- creg: ClassicalRegister,
1931
+ control_register: ClassicalRegister,
1894
1932
  expected_value: int = 1,
1895
1933
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1896
1934
  params: Sequence[float] = (),
@@ -1898,22 +1936,22 @@ class QuantumComputation(MutableSequence[Operation]):
1898
1936
  """Add a classic-controlled operation to the circuit.
1899
1937
 
1900
1938
  Args:
1901
- op: The operation to apply
1939
+ op_type: The operation to apply
1902
1940
  target: The target qubit
1903
1941
  control: The control qubit
1904
- creg: The classical register
1905
- expected_value: The expected value of the classical register
1942
+ control_register: The classical register to check against
1943
+ expected_value: The expected value of the control register
1906
1944
  comparison_kind: The kind of comparison to perform
1907
- params: The parameters of the operation
1945
+ params: The parameters of the operation.
1908
1946
  """
1909
1947
 
1910
1948
  @overload
1911
- def classic_controlled(
1949
+ def if_(
1912
1950
  self,
1913
- op: OpType,
1951
+ op_type: OpType,
1914
1952
  target: int,
1915
1953
  controls: set[Control | int],
1916
- creg: ClassicalRegister,
1954
+ control_register: ClassicalRegister,
1917
1955
  expected_value: int = 1,
1918
1956
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1919
1957
  params: Sequence[float] = (),
@@ -1921,78 +1959,78 @@ class QuantumComputation(MutableSequence[Operation]):
1921
1959
  """Add a classic-controlled operation to the circuit.
1922
1960
 
1923
1961
  Args:
1924
- op: The operation to apply
1962
+ op_type: The operation to apply
1925
1963
  target: The target qubit
1926
1964
  controls: The control qubits
1927
- creg: The classical register
1928
- expected_value: The expected value of the classical register
1965
+ control_register: The classical register to check against
1966
+ expected_value: The expected value of the control register
1929
1967
  comparison_kind: The kind of comparison to perform
1930
- params: The parameters of the operation
1968
+ params: The parameters of the operation.
1931
1969
  """
1932
1970
 
1933
1971
  @overload
1934
- def classic_controlled(
1972
+ def if_(
1935
1973
  self,
1936
- op: OpType,
1974
+ op_type: OpType,
1937
1975
  target: int,
1938
- cbit: int,
1939
- expected_value: int = 1,
1976
+ control_bit: int,
1977
+ expected_value: bool = True,
1940
1978
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1941
1979
  params: Sequence[float] = (),
1942
1980
  ) -> None:
1943
1981
  """Add a classic-controlled operation to the circuit.
1944
1982
 
1945
1983
  Args:
1946
- op: The operation to apply
1984
+ op_type: The operation to apply
1947
1985
  target: The target qubit
1948
- cbit: The classical bit index
1949
- expected_value: The expected value of the classical register
1986
+ control_bit: The index of the classical bit to check against
1987
+ expected_value: The expected value of the control bit
1950
1988
  comparison_kind: The kind of comparison to perform
1951
- params: The parameters of the operation
1989
+ params: The parameters of the operation.
1952
1990
  """
1953
1991
 
1954
1992
  @overload
1955
- def classic_controlled(
1993
+ def if_(
1956
1994
  self,
1957
- op: OpType,
1995
+ op_type: OpType,
1958
1996
  target: int,
1959
1997
  control: Control | int,
1960
- cbit: int,
1961
- expected_value: int = 1,
1998
+ control_bit: int,
1999
+ expected_value: bool = True,
1962
2000
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1963
2001
  params: Sequence[float] = (),
1964
2002
  ) -> None:
1965
2003
  """Add a classic-controlled operation to the circuit.
1966
2004
 
1967
2005
  Args:
1968
- op: The operation to apply
2006
+ op_type: The operation to apply
1969
2007
  target: The target qubit
1970
2008
  control: The control qubit
1971
- cbit: The classical bit index
1972
- expected_value: The expected value of the classical register
2009
+ control_bit: The index of the classical bit to check against
2010
+ expected_value: The expected value of the control bit
1973
2011
  comparison_kind: The kind of comparison to perform
1974
- params: The parameters of the operation
2012
+ params: The parameters of the operation.
1975
2013
  """
1976
2014
 
1977
2015
  @overload
1978
- def classic_controlled(
2016
+ def if_(
1979
2017
  self,
1980
- op: OpType,
2018
+ op_type: OpType,
1981
2019
  target: int,
1982
2020
  controls: set[Control | int],
1983
- cbit: int,
1984
- expected_value: int = 1,
2021
+ control_bit: int,
2022
+ expected_value: bool = True,
1985
2023
  comparison_kind: ComparisonKind = ComparisonKind.eq,
1986
2024
  params: Sequence[float] = (),
1987
2025
  ) -> None:
1988
2026
  """Add a classic-controlled operation to the circuit.
1989
2027
 
1990
2028
  Args:
1991
- op: The operation to apply
2029
+ op_type: The operation to apply
1992
2030
  target: The target qubit
1993
2031
  controls: The control qubits
1994
- cbit: The classical bit index
1995
- expected_value: The expected value of the classical register
2032
+ control_bit: The index of the classical bit to check against
2033
+ expected_value: The expected value of the control bit
1996
2034
  comparison_kind: The kind of comparison to perform
1997
- params: The parameters of the operation
2035
+ params: The parameters of the operation.
1998
2036
  """
@@ -15,10 +15,10 @@ from .registers import ClassicalRegister
15
15
  from .symbolic import Expression, Variable
16
16
 
17
17
  __all__ = [
18
- "ClassicControlledOperation",
19
18
  "ComparisonKind",
20
19
  "CompoundOperation",
21
20
  "Control",
21
+ "IfElseOperation",
22
22
  "NonUnitaryOperation",
23
23
  "OpType",
24
24
  "Operation",
@@ -81,14 +81,14 @@ class OpType(Enum):
81
81
  See Also:
82
82
  :meth:`mqt.core.ir.QuantumComputation.barrier`
83
83
  """
84
- classic_controlled = ...
84
+ if_else = ...
85
85
  """
86
- A classic controlled operation.
86
+ An if-else operation.
87
87
 
88
- It is used to control the execution of an operation based on the value of a classical register.
88
+ Used to control the execution of an operation based on the value of a classical register.
89
89
 
90
90
  See Also:
91
- :meth:`mqt.core.ir.QuantumComputation.classic_controlled`
91
+ :meth:`mqt.core.ir.QuantumComputation.if_else`
92
92
  """
93
93
  compound = ...
94
94
  """
@@ -439,11 +439,11 @@ class Operation(ABC):
439
439
  The set of qubits that are used by the operation.
440
440
  """
441
441
 
442
- def is_classic_controlled_operation(self) -> bool:
443
- """Check if the operation is a :class:`ClassicControlledOperation`.
442
+ def is_if_else_operation(self) -> bool:
443
+ """Check if the operation is a :class:`IfElseOperation`.
444
444
 
445
445
  Returns:
446
- True if the operation is a :class:`ClassicControlledOperation`, False otherwise.
446
+ True if the operation is a :class:`IfElseOperation`, False otherwise.
447
447
  """
448
448
 
449
449
  def is_compound_operation(self) -> bool:
@@ -895,15 +895,15 @@ class ComparisonKind(Enum):
895
895
  geq = ...
896
896
  """Greater than or equal comparison."""
897
897
 
898
- class ClassicControlledOperation(Operation):
899
- """Classic controlled quantum operation.
898
+ class IfElseOperation(Operation):
899
+ """If-else quantum operation.
900
900
 
901
- This class is used to represent quantum operations that are controlled by
902
- the value of a classical register. The operation is only executed if the
903
- value of the classical register matches the expected value.
901
+ This class is used to represent an if-else operation. The then operation is executed if the
902
+ value of the classical register matches the expected value. Otherwise, the else operation is executed.
904
903
 
905
904
  Args:
906
- operation: The operation that is controlled.
905
+ then_operation: The operation that is executed if the condition is met.
906
+ else_operation: The operation that is executed if the condition is not met.
907
907
  control_register: The classical register that controls the operation.
908
908
  expected_value: The expected value of the classical register.
909
909
  comparison_kind: The kind of comparison (default is equality).
@@ -912,7 +912,8 @@ class ClassicControlledOperation(Operation):
912
912
  @overload
913
913
  def __init__(
914
914
  self,
915
- operation: Operation,
915
+ if_operation: Operation,
916
+ else_operation: Operation | None,
916
917
  control_register: ClassicalRegister,
917
918
  expected_value: int = 1,
918
919
  comparison_kind: ComparisonKind = ...,
@@ -920,14 +921,19 @@ class ClassicControlledOperation(Operation):
920
921
  @overload
921
922
  def __init__(
922
923
  self,
923
- operation: Operation,
924
+ if_operation: Operation,
925
+ else_operation: Operation | None,
924
926
  control_bit: int,
925
- expected_value: int = 1,
927
+ expected_value: bool = True,
926
928
  comparison_kind: ComparisonKind = ...,
927
929
  ) -> None: ...
928
930
  @property
929
- def operation(self) -> Operation:
930
- """The operation that is classically controlled."""
931
+ def then_operation(self) -> Operation:
932
+ """The operation that is executed if the condition is met."""
933
+
934
+ @property
935
+ def else_operation(self) -> Operation | None:
936
+ """The operation that is executed if the condition is not met."""
931
937
 
932
938
  @property
933
939
  def control_register(self) -> ClassicalRegister | None:
@@ -938,22 +944,29 @@ class ClassicControlledOperation(Operation):
938
944
  """The classical bit that controls the operation."""
939
945
 
940
946
  @property
941
- def expected_value(self) -> int:
947
+ def expected_value_register(self) -> int:
948
+ """The expected value of the classical register.
949
+
950
+ The then-operation is executed if the value of the classical register matches the expected value based on the
951
+ kind of comparison.
952
+ The expected value is an integer that is interpreted as a binary number, where the least significant bit is at
953
+ the start index of the classical register.
954
+ """
955
+
956
+ @property
957
+ def expected_value_bit(self) -> bool:
942
958
  """The expected value of the classical register.
943
959
 
944
- The operation is only executed if the value of the classical register matches the expected value
945
- based on the kind of comparison.
946
- If the classical register is a single bit, the expected value is either 0 or 1.
947
- Otherwise, the expected value is an integer that is interpreted as a binary number, where
948
- the least significant bit is at the start index of the classical register.
960
+ The then-operation is executed if the value of the classical bit matches the expected value based on the
961
+ kind of comparison.
949
962
  """
950
963
 
951
964
  @property
952
965
  def comparison_kind(self) -> ComparisonKind:
953
966
  """The kind of comparison.
954
967
 
955
- The operation is only executed if the value of the classical register matches the expected value
956
- based on the kind of comparison.
968
+ The then-operation is executed if the value of the classical register matches the expected value based on the
969
+ kind of comparison.
957
970
  """
958
971
 
959
972
  def add_control(self, control: Control) -> None:
Binary file
@@ -0,0 +1,44 @@
1
+ # Copyright(c) 2019 spdlog authors
2
+ # Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
+
4
+
5
+ ####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
6
+ ####### Any changes to this file will be overwritten by the next CMake run ####
7
+ ####### The input file was spdlogConfig.cmake.in ########
8
+
9
+ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
10
+
11
+ macro(set_and_check _var _file)
12
+ set(${_var} "${_file}")
13
+ if(NOT EXISTS "${_file}")
14
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
15
+ endif()
16
+ endmacro()
17
+
18
+ macro(check_required_components _NAME)
19
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
20
+ if(NOT ${_NAME}_${comp}_FOUND)
21
+ if(${_NAME}_FIND_REQUIRED_${comp})
22
+ set(${_NAME}_FOUND FALSE)
23
+ endif()
24
+ endif()
25
+ endforeach()
26
+ endmacro()
27
+
28
+ ####################################################################################
29
+
30
+ find_package(Threads REQUIRED)
31
+
32
+ set(SPDLOG_FMT_EXTERNAL OFF)
33
+ set(SPDLOG_FMT_EXTERNAL_HO OFF)
34
+ set(config_targets_file spdlogConfigTargets.cmake)
35
+
36
+ if(SPDLOG_FMT_EXTERNAL OR SPDLOG_FMT_EXTERNAL_HO)
37
+ include(CMakeFindDependencyMacro)
38
+ find_dependency(fmt CONFIG)
39
+ endif()
40
+
41
+
42
+ include("${CMAKE_CURRENT_LIST_DIR}/${config_targets_file}")
43
+
44
+ check_required_components(spdlog)
@@ -0,0 +1,19 @@
1
+ #----------------------------------------------------------------
2
+ # Generated CMake target import file for configuration "Release".
3
+ #----------------------------------------------------------------
4
+
5
+ # Commands may need to know the format version.
6
+ set(CMAKE_IMPORT_FILE_VERSION 1)
7
+
8
+ # Import target "spdlog::spdlog" for configuration "Release"
9
+ set_property(TARGET spdlog::spdlog APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10
+ set_target_properties(spdlog::spdlog PROPERTIES
11
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/spdlog.lib"
13
+ )
14
+
15
+ list(APPEND _cmake_import_check_targets spdlog::spdlog )
16
+ list(APPEND _cmake_import_check_files_for_spdlog::spdlog "${_IMPORT_PREFIX}/lib/spdlog.lib" )
17
+
18
+ # Commands beyond this point should not need to know the version.
19
+ set(CMAKE_IMPORT_FILE_VERSION)
@@ -0,0 +1,119 @@
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.29)
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 spdlog::spdlog spdlog::spdlog_header_only)
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 spdlog::spdlog
59
+ add_library(spdlog::spdlog STATIC IMPORTED)
60
+
61
+ set_target_properties(spdlog::spdlog PROPERTIES
62
+ INTERFACE_COMPILE_DEFINITIONS "SPDLOG_COMPILED_LIB"
63
+ INTERFACE_COMPILE_OPTIONS "\$<\$<AND:\$<COMPILE_LANGUAGE:CXX>,\$<CXX_COMPILER_ID:MSVC>>:/utf-8>"
64
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
65
+ INTERFACE_LINK_LIBRARIES "Threads::Threads"
66
+ )
67
+
68
+ # Create imported target spdlog::spdlog_header_only
69
+ add_library(spdlog::spdlog_header_only INTERFACE IMPORTED)
70
+
71
+ set_target_properties(spdlog::spdlog_header_only PROPERTIES
72
+ INTERFACE_COMPILE_DEFINITIONS "SPDLOG_FWRITE_UNLOCKED"
73
+ INTERFACE_COMPILE_OPTIONS "/Zc:__cplusplus;\$<\$<AND:\$<COMPILE_LANGUAGE:CXX>,\$<CXX_COMPILER_ID:MSVC>>:/utf-8>"
74
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
75
+ INTERFACE_LINK_LIBRARIES "Threads::Threads"
76
+ )
77
+
78
+ # Load information for each installed configuration.
79
+ file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/spdlogConfigTargets-*.cmake")
80
+ foreach(_cmake_config_file IN LISTS _cmake_config_files)
81
+ include("${_cmake_config_file}")
82
+ endforeach()
83
+ unset(_cmake_config_file)
84
+ unset(_cmake_config_files)
85
+
86
+ # Cleanup temporary variables.
87
+ set(_IMPORT_PREFIX)
88
+
89
+ # Loop over all imported files and verify that they actually exist
90
+ foreach(_cmake_target IN LISTS _cmake_import_check_targets)
91
+ if(CMAKE_VERSION VERSION_LESS "3.28"
92
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
93
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
94
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
95
+ if(NOT EXISTS "${_cmake_file}")
96
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
97
+ \"${_cmake_file}\"
98
+ but this file does not exist. Possible reasons include:
99
+ * The file was deleted, renamed, or moved to another location.
100
+ * An install or uninstall procedure did not complete successfully.
101
+ * The installation package was faulty and contained
102
+ \"${CMAKE_CURRENT_LIST_FILE}\"
103
+ but not all the files it references.
104
+ ")
105
+ endif()
106
+ endforeach()
107
+ endif()
108
+ unset(_cmake_file)
109
+ unset("_cmake_import_check_files_for_${_cmake_target}")
110
+ endforeach()
111
+ unset(_cmake_target)
112
+ unset(_cmake_import_check_targets)
113
+
114
+ # This file does not depend on other imported targets which have
115
+ # been exported from the same project but in a separate export set.
116
+
117
+ # Commands beyond this point should not need to know the version.
118
+ set(CMAKE_IMPORT_FILE_VERSION)
119
+ cmake_policy(POP)
@@ -0,0 +1,65 @@
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 version is the same as the current one.
9
+ # The variable CVF_VERSION must be set before calling configure_file().
10
+
11
+
12
+ set(PACKAGE_VERSION "1.15.3")
13
+
14
+ if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
16
+ else()
17
+
18
+ if("1.15.3" MATCHES "^([0-9]+)\\.")
19
+ set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
20
+ if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
21
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
22
+ endif()
23
+ else()
24
+ set(CVF_VERSION_MAJOR "1.15.3")
25
+ endif()
26
+
27
+ if(PACKAGE_FIND_VERSION_RANGE)
28
+ # both endpoints of the range must have the expected major version
29
+ math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
30
+ if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
31
+ OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
32
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
33
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
34
+ elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
35
+ AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
36
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
37
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
38
+ else()
39
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
40
+ endif()
41
+ else()
42
+ if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
43
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
44
+ else()
45
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
46
+ endif()
47
+
48
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
49
+ set(PACKAGE_VERSION_EXACT TRUE)
50
+ endif()
51
+ endif()
52
+ endif()
53
+
54
+
55
+ # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
56
+ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
57
+ return()
58
+ endif()
59
+
60
+ # check that the installed version has the same 32/64bit-ness as the one which is currently searching:
61
+ if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
62
+ math(EXPR installedBits "8 * 8")
63
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
64
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
65
+ endif()
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,13 @@
1
+ prefix=C:/Users/runneradmin/AppData/Local/Temp/tmpnqsrk_1w/wheel/platlib/mqt/core
2
+ exec_prefix=${prefix}
3
+ includedir=${prefix}/include
4
+ libdir=${exec_prefix}/lib
5
+
6
+ Name: libspdlog
7
+ Description: Fast C++ logging library.
8
+ URL: https://github.com/gabime/spdlog
9
+ Version: 1.15.3
10
+ CFlags: -I${includedir} -DSPDLOG_COMPILED_LIB
11
+ Libs: -L${libdir} -lspdlog -pthread
12
+ Requires:
13
+
Binary file