uniqc-cppsimulator 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. uniqc_cppsimulator-1.0.0/.github/workflows/build_and_test.yml +96 -0
  2. uniqc_cppsimulator-1.0.0/.github/workflows/pypi-publish.yml +109 -0
  3. uniqc_cppsimulator-1.0.0/.github/workflows/python_build_wheel.yml +53 -0
  4. uniqc_cppsimulator-1.0.0/.gitignore +212 -0
  5. uniqc_cppsimulator-1.0.0/CHANGELOG.md +16 -0
  6. uniqc_cppsimulator-1.0.0/CMakeLists.txt +33 -0
  7. uniqc_cppsimulator-1.0.0/LICENSE +201 -0
  8. uniqc_cppsimulator-1.0.0/PKG-INFO +303 -0
  9. uniqc_cppsimulator-1.0.0/README.md +73 -0
  10. uniqc_cppsimulator-1.0.0/UniqcCpp/CMakeLists.txt +4 -0
  11. uniqc_cppsimulator-1.0.0/UniqcCpp/Pybinder/CMakeLists.txt +5 -0
  12. uniqc_cppsimulator-1.0.0/UniqcCpp/Pybinder/uniqc_cpp.cpp +265 -0
  13. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/CMakeLists.txt +1 -0
  14. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.clang-format +8 -0
  15. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/issue_template.md +6 -0
  16. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/pull_request_template.md +7 -0
  17. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/workflows/cifuzz.yml +30 -0
  18. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/workflows/doc.yml +35 -0
  19. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/workflows/linux.yml +111 -0
  20. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/workflows/macos.yml +45 -0
  21. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.github/workflows/windows.yml +100 -0
  22. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/.gitignore +37 -0
  23. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/CMakeLists.txt +441 -0
  24. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/CONTRIBUTING.md +20 -0
  25. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/ChangeLog.rst +5687 -0
  26. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/LICENSE.rst +27 -0
  27. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/README.rst +540 -0
  28. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/CMakeLists.txt +26 -0
  29. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/bootstrap.min.js +7 -0
  30. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/breathe.css +28 -0
  31. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/fonts/glyphicons-halflings-regular.eot +0 -0
  32. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/fonts/glyphicons-halflings-regular.svg +229 -0
  33. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/fonts/glyphicons-halflings-regular.ttf +0 -0
  34. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_static/fonts/glyphicons-halflings-regular.woff +0 -0
  35. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_templates/layout.html +148 -0
  36. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/_templates/search.html +55 -0
  37. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/api.rst +648 -0
  38. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/basic-bootstrap/README +2 -0
  39. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/basic-bootstrap/layout.html +208 -0
  40. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/basic-bootstrap/theme.conf +2 -0
  41. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/alerts.less +73 -0
  42. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/badges.less +66 -0
  43. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/bootstrap.less +50 -0
  44. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/breadcrumbs.less +26 -0
  45. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/button-groups.less +243 -0
  46. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/buttons.less +160 -0
  47. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/carousel.less +269 -0
  48. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/close.less +34 -0
  49. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/code.less +69 -0
  50. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/component-animations.less +33 -0
  51. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/dropdowns.less +214 -0
  52. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/forms.less +574 -0
  53. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/glyphicons.less +305 -0
  54. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/grid.less +84 -0
  55. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/input-groups.less +166 -0
  56. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/jumbotron.less +50 -0
  57. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/labels.less +64 -0
  58. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/list-group.less +124 -0
  59. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/media.less +61 -0
  60. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/alerts.less +14 -0
  61. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/background-variant.less +8 -0
  62. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/border-radius.less +18 -0
  63. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/buttons.less +52 -0
  64. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/center-block.less +7 -0
  65. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/clearfix.less +22 -0
  66. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/forms.less +85 -0
  67. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/gradients.less +59 -0
  68. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/grid-framework.less +91 -0
  69. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/grid.less +122 -0
  70. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/hide-text.less +21 -0
  71. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/image.less +33 -0
  72. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/labels.less +12 -0
  73. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/list-group.less +29 -0
  74. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/nav-divider.less +10 -0
  75. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/nav-vertical-align.less +9 -0
  76. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/opacity.less +8 -0
  77. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/pagination.less +23 -0
  78. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/panels.less +24 -0
  79. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/progress-bar.less +10 -0
  80. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/reset-filter.less +8 -0
  81. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/resize.less +6 -0
  82. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/responsive-visibility.less +15 -0
  83. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/size.less +10 -0
  84. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/tab-focus.less +9 -0
  85. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/table-row.less +28 -0
  86. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/text-emphasis.less +8 -0
  87. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/text-overflow.less +8 -0
  88. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins/vendor-prefixes.less +227 -0
  89. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/mixins.less +39 -0
  90. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/modals.less +150 -0
  91. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/navbar.less +660 -0
  92. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/navs.less +242 -0
  93. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/normalize.less +427 -0
  94. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/pager.less +54 -0
  95. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/pagination.less +88 -0
  96. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/panels.less +265 -0
  97. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/popovers.less +135 -0
  98. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/print.less +107 -0
  99. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/progress-bars.less +87 -0
  100. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/responsive-embed.less +35 -0
  101. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/responsive-utilities.less +194 -0
  102. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/scaffolding.less +162 -0
  103. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/tables.less +234 -0
  104. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/theme.less +273 -0
  105. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/thumbnails.less +36 -0
  106. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/tooltip.less +102 -0
  107. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/type.less +302 -0
  108. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/utilities.less +55 -0
  109. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/variables.less +861 -0
  110. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/bootstrap/wells.less +29 -0
  111. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/build.py +121 -0
  112. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/conf.py +256 -0
  113. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/contents.rst +10 -0
  114. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/fmt.less +71 -0
  115. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/index.rst +198 -0
  116. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/python-license.txt +290 -0
  117. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/syntax.rst +640 -0
  118. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/doc/usage.rst +212 -0
  119. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/args.h +234 -0
  120. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/chrono.h +2267 -0
  121. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/color.h +633 -0
  122. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/compile.h +607 -0
  123. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/core.h +2951 -0
  124. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/format-inl.h +1681 -0
  125. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/format.h +4735 -0
  126. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/os.h +451 -0
  127. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/ostream.h +209 -0
  128. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/printf.h +679 -0
  129. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/ranges.h +732 -0
  130. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/std.h +349 -0
  131. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/include/fmt/xchar.h +259 -0
  132. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/src/fmt.cc +116 -0
  133. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/src/format.cc +43 -0
  134. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/src/os.cc +390 -0
  135. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/Android.mk +15 -0
  136. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/AndroidManifest.xml +1 -0
  137. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/C++.sublime-syntax +2061 -0
  138. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/README +4 -0
  139. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/Vagrantfile +20 -0
  140. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/bazel/.bazelversion +1 -0
  141. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/bazel/BUILD.bazel +28 -0
  142. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/bazel/README.md +74 -0
  143. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/bazel/WORKSPACE.bazel +1 -0
  144. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/build-docs.py +58 -0
  145. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/build.gradle +132 -0
  146. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/cmake/FindSetEnv.cmake +7 -0
  147. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/cmake/JoinPaths.cmake +26 -0
  148. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/cmake/fmt-config.cmake.in +7 -0
  149. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/cmake/fmt.pc.in +11 -0
  150. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/compute-powers.py +53 -0
  151. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/docopt.py +581 -0
  152. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/manage.py +303 -0
  153. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/printable.py +201 -0
  154. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/rst2md.py +159 -0
  155. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/rtd/conf.py +7 -0
  156. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/rtd/index.rst +2 -0
  157. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/rtd/theme/layout.html +17 -0
  158. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/support/rtd/theme/theme.conf +2 -0
  159. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/CMakeLists.txt +257 -0
  160. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/add-subdirectory-test/CMakeLists.txt +17 -0
  161. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/add-subdirectory-test/main.cc +5 -0
  162. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/args-test.cc +186 -0
  163. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/assert-test.cc +31 -0
  164. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/chrono-test.cc +979 -0
  165. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/color-test.cc +72 -0
  166. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/compile-error-test/CMakeLists.txt +241 -0
  167. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/compile-fp-test.cc +62 -0
  168. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/compile-test.cc +393 -0
  169. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/core-test.cc +832 -0
  170. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/cuda-test/CMakeLists.txt +73 -0
  171. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/cuda-test/cpp14.cc +11 -0
  172. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/cuda-test/cuda-cpp14.cu +28 -0
  173. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/detect-stdfs.cc +18 -0
  174. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/enforce-checks-test.cc +65 -0
  175. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/find-package-test/CMakeLists.txt +17 -0
  176. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/find-package-test/main.cc +5 -0
  177. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/format-impl-test.cc +568 -0
  178. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/format-test.cc +2267 -0
  179. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/.gitignore +3 -0
  180. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/CMakeLists.txt +30 -0
  181. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/README.md +25 -0
  182. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/build.sh +90 -0
  183. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/chrono-duration.cc +136 -0
  184. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/chrono-timepoint.cc +32 -0
  185. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/float.cc +39 -0
  186. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/fuzzer-common.h +77 -0
  187. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/main.cc +22 -0
  188. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/named-arg.cc +102 -0
  189. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/one-arg.cc +92 -0
  190. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/fuzzing/two-args.cc +106 -0
  191. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/.clang-format +3 -0
  192. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/CMakeLists.txt +32 -0
  193. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/gmock/gmock.h +11645 -0
  194. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/gmock-gtest-all.cc +14434 -0
  195. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/gtest/gtest-spi.h +238 -0
  196. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest/gtest/gtest.h +12398 -0
  197. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest-extra-test.cc +415 -0
  198. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest-extra.cc +80 -0
  199. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/gtest-extra.h +165 -0
  200. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/header-only-test.cc +11 -0
  201. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/mock-allocator.h +64 -0
  202. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/module-test.cc +520 -0
  203. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/noexception-test.cc +18 -0
  204. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/os-test.cc +506 -0
  205. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/ostream-test.cc +291 -0
  206. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/posix-mock-test.cc +453 -0
  207. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/posix-mock.h +75 -0
  208. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/printf-test.cc +579 -0
  209. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/ranges-odr-test.cc +17 -0
  210. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/ranges-test.cc +497 -0
  211. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/scan-test.cc +116 -0
  212. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/scan.h +246 -0
  213. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/static-export-test/CMakeLists.txt +30 -0
  214. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/static-export-test/library.cc +5 -0
  215. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/static-export-test/main.cc +6 -0
  216. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/std-test.cc +221 -0
  217. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/test-assert.h +39 -0
  218. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/test-main.cc +43 -0
  219. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/unicode-test.cc +48 -0
  220. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/util.cc +46 -0
  221. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/util.h +81 -0
  222. uniqc_cppsimulator-1.0.0/UniqcCpp/Thirdparty/fmt/test/xchar-test.cc +581 -0
  223. uniqc_cppsimulator-1.0.0/UniqcCpp/src/CMakeLists.txt +23 -0
  224. uniqc_cppsimulator-1.0.0/UniqcCpp/src/basic_math.cpp +160 -0
  225. uniqc_cppsimulator-1.0.0/UniqcCpp/src/basic_math.h +128 -0
  226. uniqc_cppsimulator-1.0.0/UniqcCpp/src/density_operator_simulator.cpp +1050 -0
  227. uniqc_cppsimulator-1.0.0/UniqcCpp/src/density_operator_simulator.h +91 -0
  228. uniqc_cppsimulator-1.0.0/UniqcCpp/src/errors.h +55 -0
  229. uniqc_cppsimulator-1.0.0/UniqcCpp/src/qopcode.cpp +108 -0
  230. uniqc_cppsimulator-1.0.0/UniqcCpp/src/qopcode.h +87 -0
  231. uniqc_cppsimulator-1.0.0/UniqcCpp/src/rng.h +29 -0
  232. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator.cpp +893 -0
  233. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator.h +93 -0
  234. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_common.cpp +118 -0
  235. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_common.h +249 -0
  236. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_density_op_impl.cpp +831 -0
  237. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_density_op_impl.h +146 -0
  238. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_impl.h +7 -0
  239. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_statevector_impl.cpp +798 -0
  240. uniqc_cppsimulator-1.0.0/UniqcCpp/src/simulator_statevector_impl.h +102 -0
  241. uniqc_cppsimulator-1.0.0/UniqcCpp/test/CMakeLists.txt +4 -0
  242. uniqc_cppsimulator-1.0.0/UniqcCpp/test/main.cpp +81 -0
  243. uniqc_cppsimulator-1.0.0/pyproject.toml +55 -0
  244. uniqc_cppsimulator-1.0.0/scripts/check_release.py +124 -0
  245. uniqc_cppsimulator-1.0.0/scripts/check_wheel_abi.py +116 -0
  246. uniqc_cppsimulator-1.0.0/scripts/stubgen.py +27 -0
  247. uniqc_cppsimulator-1.0.0/setup.cfg +4 -0
  248. uniqc_cppsimulator-1.0.0/setup.py +140 -0
  249. uniqc_cppsimulator-1.0.0/tests/test_bindings.py +141 -0
  250. uniqc_cppsimulator-1.0.0/uniqc_cpp.pyi +596 -0
  251. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/PKG-INFO +303 -0
  252. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/SOURCES.txt +255 -0
  253. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/dependency_links.txt +1 -0
  254. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/not-zip-safe +1 -0
  255. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/scm_file_list.json +252 -0
  256. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/scm_version.json +8 -0
  257. uniqc_cppsimulator-1.0.0/uniqc_cppsimulator.egg-info/top_level.txt +1 -0
@@ -0,0 +1,96 @@
1
+ name: Build-and-test
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ${{ matrix.os }}
15
+
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os: [ubuntu-latest, windows-latest, macos-latest]
20
+ build_type: [Release]
21
+ c_compiler: [gcc, clang, cl]
22
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
23
+ include:
24
+ - os: windows-latest
25
+ c_compiler: cl
26
+ cpp_compiler: cl
27
+ - os: ubuntu-latest
28
+ c_compiler: gcc
29
+ cpp_compiler: g++
30
+ - os: ubuntu-latest
31
+ c_compiler: clang
32
+ cpp_compiler: clang++
33
+ - os: macos-latest
34
+ c_compiler: clang
35
+ cpp_compiler: clang++
36
+ exclude:
37
+ - os: windows-latest
38
+ c_compiler: gcc
39
+ - os: windows-latest
40
+ c_compiler: clang
41
+ - os: ubuntu-latest
42
+ c_compiler: cl
43
+ - os: macos-latest
44
+ c_compiler: gcc
45
+ - os: macos-latest
46
+ c_compiler: cl
47
+
48
+ steps:
49
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
50
+
51
+ - name: Install uv
52
+ uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
53
+
54
+ - name: Set up Python
55
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
56
+ with:
57
+ python-version: ${{ matrix.python-version }}
58
+
59
+ - name: Install build dependencies (Linux)
60
+ if: runner.os == 'Linux'
61
+ run: |
62
+ sudo apt-get update
63
+ sudo apt-get install -y build-essential cmake ninja-build
64
+
65
+ - name: Install build dependencies (Windows / macOS)
66
+ if: runner.os != 'Linux'
67
+ run: |
68
+ uv pip install --system cmake ninja setuptools setuptools_scm wheel pybind11
69
+
70
+ - name: Build and install the extension
71
+ run: |
72
+ uv pip install --system setuptools setuptools_scm wheel pybind11
73
+ uv pip uninstall uniqc-cppsimulator --system -y || true
74
+ uv pip install --system . --no-build-isolation
75
+
76
+ - name: Run Python binding tests
77
+ run: |
78
+ uv pip install --system pytest
79
+ pytest tests/ -v --tb=short
80
+
81
+ - name: Build the native C++ test
82
+ shell: bash
83
+ run: |
84
+ cmake -S . -B build-cpp -DCMAKE_BUILD_TYPE=Release \
85
+ -Dpybind11_DIR="$(python -c 'import pybind11; print(pybind11.get_cmake_dir())')"
86
+ cmake --build build-cpp --config Release
87
+
88
+ - name: Run the native C++ test (Linux / macOS)
89
+ if: runner.os != 'Windows'
90
+ # CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE puts the binary under
91
+ # bin/Release even for single-config generators.
92
+ run: ./build-cpp/bin/Release/UnifiedQuantumTest
93
+
94
+ - name: Run the native C++ test (Windows)
95
+ if: runner.os == 'Windows'
96
+ run: .\build-cpp\bin\Release\UnifiedQuantumTest.exe
@@ -0,0 +1,109 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ validate_release:
13
+ name: Validate release tag
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
17
+ with:
18
+ fetch-depth: 0
19
+
20
+ - name: Fetch main branch
21
+ run: git fetch origin main:refs/remotes/origin/main
22
+
23
+ - name: Validate tag ancestry and changelog
24
+ run: |
25
+ python scripts/check_release.py \
26
+ --tag "${{ github.ref_name }}" \
27
+ --main-ref origin/main \
28
+ --changelog CHANGELOG.md
29
+
30
+ build_wheels:
31
+ name: Build wheel (${{ matrix.os }})
32
+ needs: validate_release
33
+ runs-on: ${{ matrix.os }}
34
+ strategy:
35
+ fail-fast: false
36
+ matrix:
37
+ os: [ubuntu-latest, windows-latest, macos-latest]
38
+
39
+ steps:
40
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
41
+ with:
42
+ fetch-depth: 0 # Need full history for setuptools_scm version detection
43
+
44
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
45
+ with:
46
+ python-version: '3.12'
47
+
48
+ - name: Build wheels
49
+ uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 # v3.4.1
50
+
51
+ - name: Validate wheel ABI
52
+ run: python scripts/check_wheel_abi.py wheelhouse/*.whl
53
+
54
+ - name: Validate wheel release version
55
+ run: python scripts/check_release.py --tag "${{ github.ref_name }}" --wheel "wheelhouse/*.whl"
56
+
57
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
58
+ with:
59
+ name: wheel-${{ matrix.os }}
60
+ path: ./wheelhouse/*.whl
61
+
62
+ build_sdist:
63
+ name: Build sdist
64
+ needs: validate_release
65
+ runs-on: ubuntu-latest
66
+ steps:
67
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
68
+ with:
69
+ fetch-depth: 0
70
+
71
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
72
+ with:
73
+ python-version: '3.12'
74
+
75
+ - name: Build sdist
76
+ run: |
77
+ python -m pip install build
78
+ python -m build --sdist
79
+
80
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
81
+ with:
82
+ name: sdist
83
+ path: ./dist/*.tar.gz
84
+
85
+ publish:
86
+ name: Publish to PyPI
87
+ needs: [build_wheels, build_sdist]
88
+ runs-on: ubuntu-latest
89
+ permissions:
90
+ contents: read
91
+ id-token: write
92
+
93
+ steps:
94
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
95
+
96
+ - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
97
+ with:
98
+ path: dist/
99
+ merge-multiple: true
100
+
101
+ - name: Validate publish artifacts
102
+ run: python scripts/check_release.py --tag "${{ github.ref_name }}" --wheel "dist/*.whl"
103
+
104
+ - uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
105
+ with:
106
+ password: ${{ secrets.PYPI_API_TOKEN }}
107
+ # Allow re-running a release to add artifacts (e.g. sdist, new
108
+ # platform wheels) without failing on files already on PyPI.
109
+ skip-existing: true
@@ -0,0 +1,53 @@
1
+ name: Build Python Wheels
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ paths:
7
+ - 'pyproject.toml'
8
+ - 'setup.py'
9
+ - '**.cpp'
10
+ - '**.cc'
11
+ - '**.c'
12
+ - '**.h'
13
+ - '**.hpp'
14
+ - '**/CMakeLists.txt'
15
+ - '**.cmake'
16
+ - 'scripts/stubgen.py'
17
+ - '.github/workflows/python_build_wheel.yml'
18
+ workflow_dispatch:
19
+
20
+ permissions:
21
+ contents: read
22
+
23
+ jobs:
24
+ build_wheels:
25
+ name: ${{ matrix.os }}
26
+ runs-on: ${{ matrix.os }}
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ os: [ubuntu-latest, windows-latest, macos-latest]
31
+
32
+ steps:
33
+ - name: Checkout repository
34
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
35
+ with:
36
+ fetch-depth: 0 # Need full history for setuptools_scm version detection
37
+
38
+ - name: Set up Python
39
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
40
+ with:
41
+ python-version: '3.12'
42
+
43
+ - name: Build wheels
44
+ uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 # v3.4.1
45
+
46
+ - name: Validate wheel ABI
47
+ run: python scripts/check_wheel_abi.py wheelhouse/*.whl
48
+
49
+ - name: Upload wheel artifact
50
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
51
+ with:
52
+ name: wheel-${{ matrix.os }}
53
+ path: wheelhouse/*.whl
@@ -0,0 +1,212 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+ # Autogenerated per-module reference pages; regenerated by `sphinx-apidoc`
74
+ # before every build (see docs/Makefile). `uniqc_api.rst` is hand-curated.
75
+ docs/source/uniqc.rst
76
+ docs/source/uniqc.*.rst
77
+ !docs/source/uniqc_api.rst
78
+ docs/source/releases/_generated/
79
+
80
+ # PyBuilder
81
+ .pybuilder/
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ # For a library or package, you might want to ignore these files since the code is
93
+ # intended to run in multiple environments; otherwise, check them in:
94
+ # .python-version
95
+
96
+ # pipenv
97
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
99
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
100
+ # install all needed dependencies.
101
+ #Pipfile.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
111
+ __pypackages__/
112
+
113
+ # Celery stuff
114
+ celerybeat-schedule
115
+ celerybeat.pid
116
+
117
+ # SageMath parsed files
118
+ *.sage.py
119
+
120
+ # Environments
121
+ .env
122
+ .venv
123
+ env/
124
+ venv/
125
+ ENV/
126
+ env.bak/
127
+ venv.bak/
128
+ uv.lock
129
+
130
+ # Node / frontend
131
+ node_modules/
132
+ npm-debug.log*
133
+ yarn-debug.log*
134
+ yarn-error.log*
135
+
136
+ # Spyder project settings
137
+ .spyderproject
138
+ .spyproject
139
+
140
+ # Rope project settings
141
+ .ropeproject
142
+
143
+ # mkdocs documentation
144
+ # (site/ is now the landing page source, tracked in git)
145
+
146
+ # mypy
147
+ .mypy_cache/
148
+ .dmypy.json
149
+ dmypy.json
150
+
151
+ # Pyre type checker
152
+ .pyre/
153
+
154
+ # pytype static type analyzer
155
+ .pytype/
156
+
157
+ # Cython debug symbols
158
+ cython_debug/
159
+
160
+ # PyCharm
161
+ # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
162
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
164
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
+ .idea/
166
+
167
+ # VS/vscode
168
+ .vscode/
169
+ .vs/
170
+
171
+ # Claude Code / Copilot CLI per-repo agent state and worktrees
172
+ .claude/
173
+
174
+ # output path
175
+ origin_online_info_verify/
176
+ quafu_online_info_verify/
177
+ ibm_online_info_verify/
178
+ originq_online_config.json
179
+ quafu_online_config.json
180
+ ibm_online_config.json
181
+ qcloud_config_template/originq_template.py
182
+ qcloud_config_template/quafu_template.py
183
+ qcloud_config_template/ibm_template.py
184
+ test/make_online_config/
185
+ history/
186
+ online_info/
187
+ dummy_server/
188
+ test/quafu_test
189
+ originq_cloud_config.json
190
+ good_circuits.txt
191
+ bad_circuits.txt
192
+ *.png
193
+ *.pdf
194
+
195
+ # setuptools_scm generated version file
196
+ uniqc/_version.py
197
+
198
+ # CMake build artifacts
199
+ UniqcCpp/CMakeCache.txt
200
+ UniqcCpp/CMakeFiles/
201
+ UniqcCpp/Makefile
202
+ UniqcCpp/cmake_install.cmake
203
+ UniqcCpp/Pybinder/Makefile
204
+ UniqcCpp/Pybinder/CMakeFiles/
205
+ UniqcCpp/Thirdparty/Makefile
206
+ UniqcCpp/Thirdparty/CMakeFiles/
207
+ UniqcCpp/src/Makefile
208
+ UniqcCpp/src/CMakeFiles/
209
+ UniqcCpp/src/cmake_install.cmake
210
+ UniqcCpp/test/Makefile
211
+ UniqcCpp/test/CMakeFiles/
212
+ UniqcCpp/test/cmake_install.cmake
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2026-08-21
9
+
10
+ 初始独立版本。C++ 模拟器自 [UnifiedQuantum](https://github.com/IAI-USTC-Quantum/UnifiedQuantum) v0.0.17 拆分为独立仓库,import 名保持 `uniqc_cpp` 不变,API 与拆分前完全兼容。
11
+
12
+ - `StatevectorSimulator`(态矢量,最多 30 量子比特)与 `DensityOperatorSimulator`(密度算符,最多 10 量子比特,含噪声通道)
13
+ - QRAM 指令支持与参数校验
14
+ - Release 构建安全加固(stack protector / FORTIFY / relro)
15
+ - Python 绑定测试套件(`tests/`)与 C++ 原生冒烟测试
16
+ - 类型存根 `uniqc_cpp.pyi` 随 wheel 一起发布
@@ -0,0 +1,33 @@
1
+ cmake_minimum_required(VERSION 3.22)
2
+ project(UnifiedQuantum)
3
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/UniqcCpp/src
4
+ ${CMAKE_CURRENT_SOURCE_DIR}/UniqcCpp/Thirdparty
5
+ ${CMAKE_CURRENT_SOURCE_DIR}/UniqcCpp/Thirdparty/fmt/include
6
+ )
7
+
8
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)
9
+ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin)
10
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/bin/Debug)
11
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/bin/Release)
12
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/lib/Debug)
13
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/lib/Release)
14
+
15
+ set(CMAKE_CXX_STANDARD 17)
16
+
17
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
18
+
19
+ # Security hardening flags for Release builds (GCC/Clang only; MSVC uses
20
+ # its own mitigations and would reject these ELF-specific linker options).
21
+ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
22
+ add_compile_options($<$<CONFIG:Release>:-fstack-protector-strong>)
23
+ add_compile_options($<$<CONFIG:Release>:-D_FORTIFY_SOURCE=2>)
24
+ if (NOT APPLE)
25
+ add_link_options($<$<CONFIG:Release>:-Wl,-z,relro,-z,now>)
26
+ add_link_options($<$<CONFIG:Release>:-Wl,--strip-all>)
27
+ endif()
28
+ endif()
29
+
30
+ set(PYBIND11_FINDPYTHON ON)
31
+ find_package(pybind11 CONFIG REQUIRED)
32
+
33
+ add_subdirectory(UniqcCpp)