pymcpp 5.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 (638) hide show
  1. pymcpp-5.0.0/.clang-format +13 -0
  2. pymcpp-5.0.0/.git-blame-ignore-revs +1 -0
  3. pymcpp-5.0.0/.github/workflows/wheels.yml +175 -0
  4. pymcpp-5.0.0/.gitignore +34 -0
  5. pymcpp-5.0.0/.gitmodules +4 -0
  6. pymcpp-5.0.0/.pre-commit-config.yaml +23 -0
  7. pymcpp-5.0.0/AUTHORS +33 -0
  8. pymcpp-5.0.0/CHANGES +44 -0
  9. pymcpp-5.0.0/CMakeLists.txt +630 -0
  10. pymcpp-5.0.0/INSTALL.md +203 -0
  11. pymcpp-5.0.0/LICENSE +2 -0
  12. pymcpp-5.0.0/PKG-INFO +56 -0
  13. pymcpp-5.0.0/README.md +49 -0
  14. pymcpp-5.0.0/doc/MC++.dox +2991 -0
  15. pymcpp-5.0.0/doc/MC++.txt +59 -0
  16. pymcpp-5.0.0/doc/fig/CM-1D.g +23 -0
  17. pymcpp-5.0.0/doc/fig/CM-1D.out +200 -0
  18. pymcpp-5.0.0/doc/fig/CM-1D.png +0 -0
  19. pymcpp-5.0.0/doc/fig/Chebyshev_model.aux +1 -0
  20. pymcpp-5.0.0/doc/fig/Chebyshev_model.dvi +0 -0
  21. pymcpp-5.0.0/doc/fig/Chebyshev_model.eps +2137 -0
  22. pymcpp-5.0.0/doc/fig/Chebyshev_model.png +0 -0
  23. pymcpp-5.0.0/doc/fig/Chebyshev_model.ps +2144 -0
  24. pymcpp-5.0.0/doc/fig/Chebyshev_model.tex +25 -0
  25. pymcpp-5.0.0/doc/fig/Chebyshevmodel.eps +361 -0
  26. pymcpp-5.0.0/doc/fig/Chebyshevmodel.fig +67 -0
  27. pymcpp-5.0.0/doc/fig/ELL-2D.png +0 -0
  28. pymcpp-5.0.0/doc/fig/F.png +0 -0
  29. pymcpp-5.0.0/doc/fig/F0.png +0 -0
  30. pymcpp-5.0.0/doc/fig/FTE.png +0 -0
  31. pymcpp-5.0.0/doc/fig/F_TAD.png +0 -0
  32. pymcpp-5.0.0/doc/fig/ISM-2D.png +0 -0
  33. pymcpp-5.0.0/doc/fig/MC-1D.g +48 -0
  34. pymcpp-5.0.0/doc/fig/MC-1D.out +500 -0
  35. pymcpp-5.0.0/doc/fig/MC-1D.png +0 -0
  36. pymcpp-5.0.0/doc/fig/MC-1D_linearize.png +0 -0
  37. pymcpp-5.0.0/doc/fig/MC-1D_relax.png +0 -0
  38. pymcpp-5.0.0/doc/fig/MC-TM-2D.png +0 -0
  39. pymcpp-5.0.0/doc/fig/MCTM-1D.png +0 -0
  40. pymcpp-5.0.0/doc/fig/McCormick_relax.aux +1 -0
  41. pymcpp-5.0.0/doc/fig/McCormick_relax.dvi +0 -0
  42. pymcpp-5.0.0/doc/fig/McCormick_relax.eps +1583 -0
  43. pymcpp-5.0.0/doc/fig/McCormick_relax.png +0 -0
  44. pymcpp-5.0.0/doc/fig/McCormick_relax.ps +1589 -0
  45. pymcpp-5.0.0/doc/fig/McCormick_relax.tex +24 -0
  46. pymcpp-5.0.0/doc/fig/McCormickrelax.eps +301 -0
  47. pymcpp-5.0.0/doc/fig/McCormickrelax.fig +60 -0
  48. pymcpp-5.0.0/doc/fig/OAcvx_strategy.png +0 -0
  49. pymcpp-5.0.0/doc/fig/PWCSM-2D.g +17 -0
  50. pymcpp-5.0.0/doc/fig/PWCSM-2D.out +462 -0
  51. pymcpp-5.0.0/doc/fig/PWCSM-2D.png +0 -0
  52. pymcpp-5.0.0/doc/fig/PWCSM2-2D.out +272 -0
  53. pymcpp-5.0.0/doc/fig/PWLSM-2D.g +17 -0
  54. pymcpp-5.0.0/doc/fig/PWLSM-2D.out +462 -0
  55. pymcpp-5.0.0/doc/fig/PWLSM-2D.png +0 -0
  56. pymcpp-5.0.0/doc/fig/Quadratization_algo.png +0 -0
  57. pymcpp-5.0.0/doc/fig/SB-2D.g +36 -0
  58. pymcpp-5.0.0/doc/fig/SB-2D.out +1640 -0
  59. pymcpp-5.0.0/doc/fig/SB-2D_function.png +0 -0
  60. pymcpp-5.0.0/doc/fig/SB-2D_spectral.png +0 -0
  61. pymcpp-5.0.0/doc/fig/TM+MCTM-1D.png +0 -0
  62. pymcpp-5.0.0/doc/fig/TM-1D.png +0 -0
  63. pymcpp-5.0.0/doc/fig/TM-2D.png +0 -0
  64. pymcpp-5.0.0/doc/fig/TM-MC-1D.g +57 -0
  65. pymcpp-5.0.0/doc/fig/TM-MC-1D.out +500 -0
  66. pymcpp-5.0.0/doc/fig/TM-MC-2D.png +0 -0
  67. pymcpp-5.0.0/doc/fig/Taylor_model.aux +1 -0
  68. pymcpp-5.0.0/doc/fig/Taylor_model.dvi +0 -0
  69. pymcpp-5.0.0/doc/fig/Taylor_model.eps +1868 -0
  70. pymcpp-5.0.0/doc/fig/Taylor_model.png +0 -0
  71. pymcpp-5.0.0/doc/fig/Taylor_model.ps +1874 -0
  72. pymcpp-5.0.0/doc/fig/Taylor_model.tex +24 -0
  73. pymcpp-5.0.0/doc/fig/Taylormodel.eps +333 -0
  74. pymcpp-5.0.0/doc/fig/Taylormodel.fig +65 -0
  75. pymcpp-5.0.0/doc/fig/dF1dX3_BAD.png +0 -0
  76. pymcpp-5.0.0/doc/fig/dF1dX3_FAD.png +0 -0
  77. pymcpp-5.0.0/doc/fig/dFdX_BAD.png +0 -0
  78. pymcpp-5.0.0/doc/fig/dFdX_FAD.png +0 -0
  79. pymcpp-5.0.0/doc/fig/exm_uni.png +0 -0
  80. pymcpp-5.0.0/extern/pybind11/.appveyor.yml +35 -0
  81. pymcpp-5.0.0/extern/pybind11/.clang-format +38 -0
  82. pymcpp-5.0.0/extern/pybind11/.clang-tidy +83 -0
  83. pymcpp-5.0.0/extern/pybind11/.cmake-format.yaml +73 -0
  84. pymcpp-5.0.0/extern/pybind11/.codespell-ignore-lines +36 -0
  85. pymcpp-5.0.0/extern/pybind11/.gitattributes +1 -0
  86. pymcpp-5.0.0/extern/pybind11/.github/CODEOWNERS +9 -0
  87. pymcpp-5.0.0/extern/pybind11/.github/CONTRIBUTING.md +349 -0
  88. pymcpp-5.0.0/extern/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +61 -0
  89. pymcpp-5.0.0/extern/pybind11/.github/ISSUE_TEMPLATE/config.yml +8 -0
  90. pymcpp-5.0.0/extern/pybind11/.github/dependabot.yml +11 -0
  91. pymcpp-5.0.0/extern/pybind11/.github/labeler.yml +13 -0
  92. pymcpp-5.0.0/extern/pybind11/.github/labeler_merged.yml +8 -0
  93. pymcpp-5.0.0/extern/pybind11/.github/matchers/pylint.json +32 -0
  94. pymcpp-5.0.0/extern/pybind11/.github/pull_request_template.md +15 -0
  95. pymcpp-5.0.0/extern/pybind11/.github/workflows/ci.yml +1369 -0
  96. pymcpp-5.0.0/extern/pybind11/.github/workflows/configure.yml +85 -0
  97. pymcpp-5.0.0/extern/pybind11/.github/workflows/docs-link.yml +41 -0
  98. pymcpp-5.0.0/extern/pybind11/.github/workflows/format.yml +54 -0
  99. pymcpp-5.0.0/extern/pybind11/.github/workflows/labeler.yml +25 -0
  100. pymcpp-5.0.0/extern/pybind11/.github/workflows/nightlies.yml +59 -0
  101. pymcpp-5.0.0/extern/pybind11/.github/workflows/pip.yml +118 -0
  102. pymcpp-5.0.0/extern/pybind11/.github/workflows/reusable-standard.yml +98 -0
  103. pymcpp-5.0.0/extern/pybind11/.github/workflows/tests-cibw.yml +77 -0
  104. pymcpp-5.0.0/extern/pybind11/.github/workflows/upstream.yml +118 -0
  105. pymcpp-5.0.0/extern/pybind11/.gitignore +54 -0
  106. pymcpp-5.0.0/extern/pybind11/.pre-commit-config.yaml +158 -0
  107. pymcpp-5.0.0/extern/pybind11/.readthedocs.yml +20 -0
  108. pymcpp-5.0.0/extern/pybind11/CMakeLists.txt +425 -0
  109. pymcpp-5.0.0/extern/pybind11/CMakePresets.json +93 -0
  110. pymcpp-5.0.0/extern/pybind11/LICENSE +29 -0
  111. pymcpp-5.0.0/extern/pybind11/README.rst +215 -0
  112. pymcpp-5.0.0/extern/pybind11/SECURITY.md +13 -0
  113. pymcpp-5.0.0/extern/pybind11/docs/Doxyfile +21 -0
  114. pymcpp-5.0.0/extern/pybind11/docs/_static/css/custom.css +3 -0
  115. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/chrono.rst +81 -0
  116. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/custom.rst +137 -0
  117. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/eigen.rst +310 -0
  118. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/functional.rst +109 -0
  119. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/index.rst +43 -0
  120. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/overview.rst +170 -0
  121. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/stl.rst +249 -0
  122. pymcpp-5.0.0/extern/pybind11/docs/advanced/cast/strings.rst +296 -0
  123. pymcpp-5.0.0/extern/pybind11/docs/advanced/classes.rst +1432 -0
  124. pymcpp-5.0.0/extern/pybind11/docs/advanced/deadlock.md +391 -0
  125. pymcpp-5.0.0/extern/pybind11/docs/advanced/deprecated.rst +179 -0
  126. pymcpp-5.0.0/extern/pybind11/docs/advanced/embedding.rst +499 -0
  127. pymcpp-5.0.0/extern/pybind11/docs/advanced/exceptions.rst +422 -0
  128. pymcpp-5.0.0/extern/pybind11/docs/advanced/functions.rst +616 -0
  129. pymcpp-5.0.0/extern/pybind11/docs/advanced/misc.rst +615 -0
  130. pymcpp-5.0.0/extern/pybind11/docs/advanced/pycpp/index.rst +13 -0
  131. pymcpp-5.0.0/extern/pybind11/docs/advanced/pycpp/numpy.rst +493 -0
  132. pymcpp-5.0.0/extern/pybind11/docs/advanced/pycpp/object.rst +286 -0
  133. pymcpp-5.0.0/extern/pybind11/docs/advanced/pycpp/utilities.rst +155 -0
  134. pymcpp-5.0.0/extern/pybind11/docs/advanced/smart_ptrs.rst +179 -0
  135. pymcpp-5.0.0/extern/pybind11/docs/basics.rst +316 -0
  136. pymcpp-5.0.0/extern/pybind11/docs/benchmark.py +89 -0
  137. pymcpp-5.0.0/extern/pybind11/docs/benchmark.rst +95 -0
  138. pymcpp-5.0.0/extern/pybind11/docs/changelog.md +3488 -0
  139. pymcpp-5.0.0/extern/pybind11/docs/classes.rst +652 -0
  140. pymcpp-5.0.0/extern/pybind11/docs/cmake/index.rst +8 -0
  141. pymcpp-5.0.0/extern/pybind11/docs/compiling.rst +731 -0
  142. pymcpp-5.0.0/extern/pybind11/docs/conf.py +369 -0
  143. pymcpp-5.0.0/extern/pybind11/docs/faq.rst +351 -0
  144. pymcpp-5.0.0/extern/pybind11/docs/index.rst +49 -0
  145. pymcpp-5.0.0/extern/pybind11/docs/installing.rst +105 -0
  146. pymcpp-5.0.0/extern/pybind11/docs/limitations.rst +68 -0
  147. pymcpp-5.0.0/extern/pybind11/docs/pybind11-logo.png +0 -0
  148. pymcpp-5.0.0/extern/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  149. pymcpp-5.0.0/extern/pybind11/docs/pybind11_vs_boost_python1.svg +427 -0
  150. pymcpp-5.0.0/extern/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  151. pymcpp-5.0.0/extern/pybind11/docs/pybind11_vs_boost_python2.svg +427 -0
  152. pymcpp-5.0.0/extern/pybind11/docs/reference.rst +130 -0
  153. pymcpp-5.0.0/extern/pybind11/docs/release.rst +135 -0
  154. pymcpp-5.0.0/extern/pybind11/docs/requirements.in +7 -0
  155. pymcpp-5.0.0/extern/pybind11/docs/requirements.txt +87 -0
  156. pymcpp-5.0.0/extern/pybind11/docs/upgrade.rst +748 -0
  157. pymcpp-5.0.0/extern/pybind11/include/pybind11/attr.h +730 -0
  158. pymcpp-5.0.0/extern/pybind11/include/pybind11/buffer_info.h +209 -0
  159. pymcpp-5.0.0/extern/pybind11/include/pybind11/cast.h +2446 -0
  160. pymcpp-5.0.0/extern/pybind11/include/pybind11/chrono.h +227 -0
  161. pymcpp-5.0.0/extern/pybind11/include/pybind11/common.h +2 -0
  162. pymcpp-5.0.0/extern/pybind11/include/pybind11/complex.h +93 -0
  163. pymcpp-5.0.0/extern/pybind11/include/pybind11/conduit/README.txt +15 -0
  164. pymcpp-5.0.0/extern/pybind11/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  165. pymcpp-5.0.0/extern/pybind11/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  166. pymcpp-5.0.0/extern/pybind11/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  167. pymcpp-5.0.0/extern/pybind11/include/pybind11/critical_section.h +56 -0
  168. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/argument_vector.h +417 -0
  169. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/class.h +850 -0
  170. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/common.h +1427 -0
  171. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/cpp_conduit.h +75 -0
  172. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/descr.h +226 -0
  173. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  174. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/exception_translation.h +71 -0
  175. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/function_record_pyobject.h +192 -0
  176. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/holder_caster_foreign_helpers.h +104 -0
  177. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/init.h +548 -0
  178. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/internals.h +1082 -0
  179. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/native_enum_data.h +227 -0
  180. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  181. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/struct_smart_holder.h +398 -0
  182. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/type_caster_base.h +1723 -0
  183. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/typeid.h +65 -0
  184. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/using_smart_holder.h +22 -0
  185. pymcpp-5.0.0/extern/pybind11/include/pybind11/detail/value_and_holder.h +92 -0
  186. pymcpp-5.0.0/extern/pybind11/include/pybind11/eigen/common.h +9 -0
  187. pymcpp-5.0.0/extern/pybind11/include/pybind11/eigen/matrix.h +723 -0
  188. pymcpp-5.0.0/extern/pybind11/include/pybind11/eigen/tensor.h +520 -0
  189. pymcpp-5.0.0/extern/pybind11/include/pybind11/eigen.h +12 -0
  190. pymcpp-5.0.0/extern/pybind11/include/pybind11/embed.h +320 -0
  191. pymcpp-5.0.0/extern/pybind11/include/pybind11/eval.h +161 -0
  192. pymcpp-5.0.0/extern/pybind11/include/pybind11/functional.h +147 -0
  193. pymcpp-5.0.0/extern/pybind11/include/pybind11/gil.h +203 -0
  194. pymcpp-5.0.0/extern/pybind11/include/pybind11/gil_safe_call_once.h +273 -0
  195. pymcpp-5.0.0/extern/pybind11/include/pybind11/gil_simple.h +37 -0
  196. pymcpp-5.0.0/extern/pybind11/include/pybind11/iostream.h +301 -0
  197. pymcpp-5.0.0/extern/pybind11/include/pybind11/native_enum.h +76 -0
  198. pymcpp-5.0.0/extern/pybind11/include/pybind11/numpy.h +2412 -0
  199. pymcpp-5.0.0/extern/pybind11/include/pybind11/operators.h +202 -0
  200. pymcpp-5.0.0/extern/pybind11/include/pybind11/options.h +92 -0
  201. pymcpp-5.0.0/extern/pybind11/include/pybind11/pybind11.h +3962 -0
  202. pymcpp-5.0.0/extern/pybind11/include/pybind11/pytypes.h +2736 -0
  203. pymcpp-5.0.0/extern/pybind11/include/pybind11/stl/filesystem.h +114 -0
  204. pymcpp-5.0.0/extern/pybind11/include/pybind11/stl.h +666 -0
  205. pymcpp-5.0.0/extern/pybind11/include/pybind11/stl_bind.h +858 -0
  206. pymcpp-5.0.0/extern/pybind11/include/pybind11/subinterpreter.h +291 -0
  207. pymcpp-5.0.0/extern/pybind11/include/pybind11/trampoline_self_life_support.h +65 -0
  208. pymcpp-5.0.0/extern/pybind11/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  209. pymcpp-5.0.0/extern/pybind11/include/pybind11/typing.h +295 -0
  210. pymcpp-5.0.0/extern/pybind11/include/pybind11/warnings.h +75 -0
  211. pymcpp-5.0.0/extern/pybind11/noxfile.py +151 -0
  212. pymcpp-5.0.0/extern/pybind11/pybind11/__init__.py +19 -0
  213. pymcpp-5.0.0/extern/pybind11/pybind11/__main__.py +97 -0
  214. pymcpp-5.0.0/extern/pybind11/pybind11/_version.py +34 -0
  215. pymcpp-5.0.0/extern/pybind11/pybind11/commands.py +39 -0
  216. pymcpp-5.0.0/extern/pybind11/pybind11/py.typed +0 -0
  217. pymcpp-5.0.0/extern/pybind11/pybind11/setup_helpers.py +500 -0
  218. pymcpp-5.0.0/extern/pybind11/pyproject.toml +215 -0
  219. pymcpp-5.0.0/extern/pybind11/tests/CMakeLists.txt +694 -0
  220. pymcpp-5.0.0/extern/pybind11/tests/conftest.py +313 -0
  221. pymcpp-5.0.0/extern/pybind11/tests/constructor_stats.h +330 -0
  222. pymcpp-5.0.0/extern/pybind11/tests/cross_module_gil_utils.cpp +111 -0
  223. pymcpp-5.0.0/extern/pybind11/tests/cross_module_interleaved_error_already_set.cpp +54 -0
  224. pymcpp-5.0.0/extern/pybind11/tests/custom_exceptions.py +10 -0
  225. pymcpp-5.0.0/extern/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +16 -0
  226. pymcpp-5.0.0/extern/pybind11/tests/env.py +76 -0
  227. pymcpp-5.0.0/extern/pybind11/tests/exo_planet_c_api.cpp +76 -0
  228. pymcpp-5.0.0/extern/pybind11/tests/exo_planet_pybind11.cpp +19 -0
  229. pymcpp-5.0.0/extern/pybind11/tests/extra_python_package/pytest.ini +0 -0
  230. pymcpp-5.0.0/extern/pybind11/tests/extra_python_package/test_files.py +385 -0
  231. pymcpp-5.0.0/extern/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  232. pymcpp-5.0.0/extern/pybind11/tests/extra_setuptools/test_setuphelper.py +153 -0
  233. pymcpp-5.0.0/extern/pybind11/tests/home_planet_very_lonely_traveler.cpp +13 -0
  234. pymcpp-5.0.0/extern/pybind11/tests/local_bindings.h +93 -0
  235. pymcpp-5.0.0/extern/pybind11/tests/mod_per_interpreter_gil.cpp +20 -0
  236. pymcpp-5.0.0/extern/pybind11/tests/mod_per_interpreter_gil_with_singleton.cpp +147 -0
  237. pymcpp-5.0.0/extern/pybind11/tests/mod_shared_interpreter_gil.cpp +17 -0
  238. pymcpp-5.0.0/extern/pybind11/tests/object.h +205 -0
  239. pymcpp-5.0.0/extern/pybind11/tests/pure_cpp/CMakeLists.txt +22 -0
  240. pymcpp-5.0.0/extern/pybind11/tests/pure_cpp/smart_holder_poc.h +56 -0
  241. pymcpp-5.0.0/extern/pybind11/tests/pure_cpp/smart_holder_poc_test.cpp +427 -0
  242. pymcpp-5.0.0/extern/pybind11/tests/pybind11_cross_module_tests.cpp +163 -0
  243. pymcpp-5.0.0/extern/pybind11/tests/pybind11_tests.cpp +141 -0
  244. pymcpp-5.0.0/extern/pybind11/tests/pybind11_tests.h +119 -0
  245. pymcpp-5.0.0/extern/pybind11/tests/pyproject.toml +40 -0
  246. pymcpp-5.0.0/extern/pybind11/tests/pytest.ini +22 -0
  247. pymcpp-5.0.0/extern/pybind11/tests/requirements.txt +20 -0
  248. pymcpp-5.0.0/extern/pybind11/tests/standalone_enum_module.cpp +13 -0
  249. pymcpp-5.0.0/extern/pybind11/tests/test_async.cpp +25 -0
  250. pymcpp-5.0.0/extern/pybind11/tests/test_async.py +31 -0
  251. pymcpp-5.0.0/extern/pybind11/tests/test_buffers.cpp +571 -0
  252. pymcpp-5.0.0/extern/pybind11/tests/test_buffers.py +471 -0
  253. pymcpp-5.0.0/extern/pybind11/tests/test_builtin_casters.cpp +393 -0
  254. pymcpp-5.0.0/extern/pybind11/tests/test_builtin_casters.py +624 -0
  255. pymcpp-5.0.0/extern/pybind11/tests/test_call_policies.cpp +113 -0
  256. pymcpp-5.0.0/extern/pybind11/tests/test_call_policies.py +256 -0
  257. pymcpp-5.0.0/extern/pybind11/tests/test_callbacks.cpp +302 -0
  258. pymcpp-5.0.0/extern/pybind11/tests/test_callbacks.py +248 -0
  259. pymcpp-5.0.0/extern/pybind11/tests/test_chrono.cpp +81 -0
  260. pymcpp-5.0.0/extern/pybind11/tests/test_chrono.py +207 -0
  261. pymcpp-5.0.0/extern/pybind11/tests/test_class.cpp +700 -0
  262. pymcpp-5.0.0/extern/pybind11/tests/test_class.py +575 -0
  263. pymcpp-5.0.0/extern/pybind11/tests/test_class_cross_module_use_after_one_module_dealloc.cpp +23 -0
  264. pymcpp-5.0.0/extern/pybind11/tests/test_class_cross_module_use_after_one_module_dealloc.py +43 -0
  265. pymcpp-5.0.0/extern/pybind11/tests/test_class_release_gil_before_calling_cpp_dtor.cpp +54 -0
  266. pymcpp-5.0.0/extern/pybind11/tests/test_class_release_gil_before_calling_cpp_dtor.py +21 -0
  267. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_basic.cpp +248 -0
  268. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_basic.py +248 -0
  269. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_disowning.cpp +41 -0
  270. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_disowning.py +78 -0
  271. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_disowning_mi.cpp +85 -0
  272. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_disowning_mi.py +246 -0
  273. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_factory_constructors.cpp +156 -0
  274. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_factory_constructors.py +53 -0
  275. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_inheritance.cpp +90 -0
  276. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_inheritance.py +63 -0
  277. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_mi_thunks.cpp +230 -0
  278. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_mi_thunks.py +104 -0
  279. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_property.cpp +129 -0
  280. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_property.py +218 -0
  281. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_property_non_owning.cpp +65 -0
  282. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_property_non_owning.py +30 -0
  283. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_shared_ptr_copy_move.cpp +103 -0
  284. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_shared_ptr_copy_move.py +41 -0
  285. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_basic.cpp +57 -0
  286. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_basic.py +35 -0
  287. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_self_life_support.cpp +86 -0
  288. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_self_life_support.py +38 -0
  289. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_shared_from_this.cpp +137 -0
  290. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_shared_from_this.py +247 -0
  291. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_shared_ptr_cpp_arg.cpp +92 -0
  292. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_shared_ptr_cpp_arg.py +154 -0
  293. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_unique_ptr.cpp +63 -0
  294. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_trampoline_unique_ptr.py +31 -0
  295. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_unique_ptr_custom_deleter.cpp +30 -0
  296. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_unique_ptr_custom_deleter.py +8 -0
  297. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_unique_ptr_member.cpp +50 -0
  298. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_unique_ptr_member.py +26 -0
  299. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_virtual_py_cpp_mix.cpp +58 -0
  300. pymcpp-5.0.0/extern/pybind11/tests/test_class_sh_virtual_py_cpp_mix.py +66 -0
  301. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/CMakeLists.txt +91 -0
  302. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/embed.cpp +23 -0
  303. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +19 -0
  304. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +29 -0
  305. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +37 -0
  306. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/main.cpp +6 -0
  307. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +38 -0
  308. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +32 -0
  309. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +38 -0
  310. pymcpp-5.0.0/extern/pybind11/tests/test_cmake_build/test.py +10 -0
  311. pymcpp-5.0.0/extern/pybind11/tests/test_const_name.cpp +55 -0
  312. pymcpp-5.0.0/extern/pybind11/tests/test_const_name.py +31 -0
  313. pymcpp-5.0.0/extern/pybind11/tests/test_constants_and_functions.cpp +158 -0
  314. pymcpp-5.0.0/extern/pybind11/tests/test_constants_and_functions.py +58 -0
  315. pymcpp-5.0.0/extern/pybind11/tests/test_copy_move.cpp +546 -0
  316. pymcpp-5.0.0/extern/pybind11/tests/test_copy_move.py +144 -0
  317. pymcpp-5.0.0/extern/pybind11/tests/test_cpp_conduit.cpp +22 -0
  318. pymcpp-5.0.0/extern/pybind11/tests/test_cpp_conduit.py +183 -0
  319. pymcpp-5.0.0/extern/pybind11/tests/test_cpp_conduit_traveler_bindings.h +47 -0
  320. pymcpp-5.0.0/extern/pybind11/tests/test_cpp_conduit_traveler_types.h +25 -0
  321. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/CMakeLists.txt +70 -0
  322. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/bindings.cpp +20 -0
  323. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/catch.cpp +22 -0
  324. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/lib.cpp +13 -0
  325. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/lib.h +31 -0
  326. pymcpp-5.0.0/extern/pybind11/tests/test_cross_module_rtti/test_cross_module_rtti.cpp +50 -0
  327. pymcpp-5.0.0/extern/pybind11/tests/test_custom_type_casters.cpp +217 -0
  328. pymcpp-5.0.0/extern/pybind11/tests/test_custom_type_casters.py +126 -0
  329. pymcpp-5.0.0/extern/pybind11/tests/test_custom_type_setup.cpp +104 -0
  330. pymcpp-5.0.0/extern/pybind11/tests/test_custom_type_setup.py +79 -0
  331. pymcpp-5.0.0/extern/pybind11/tests/test_docs_advanced_cast_custom.cpp +69 -0
  332. pymcpp-5.0.0/extern/pybind11/tests/test_docs_advanced_cast_custom.py +40 -0
  333. pymcpp-5.0.0/extern/pybind11/tests/test_docstring_options.cpp +129 -0
  334. pymcpp-5.0.0/extern/pybind11/tests/test_docstring_options.py +72 -0
  335. pymcpp-5.0.0/extern/pybind11/tests/test_eigen_matrix.cpp +448 -0
  336. pymcpp-5.0.0/extern/pybind11/tests/test_eigen_matrix.py +839 -0
  337. pymcpp-5.0.0/extern/pybind11/tests/test_eigen_tensor.cpp +18 -0
  338. pymcpp-5.0.0/extern/pybind11/tests/test_eigen_tensor.inl +338 -0
  339. pymcpp-5.0.0/extern/pybind11/tests/test_eigen_tensor.py +316 -0
  340. pymcpp-5.0.0/extern/pybind11/tests/test_enum.cpp +149 -0
  341. pymcpp-5.0.0/extern/pybind11/tests/test_enum.py +344 -0
  342. pymcpp-5.0.0/extern/pybind11/tests/test_eval.cpp +118 -0
  343. pymcpp-5.0.0/extern/pybind11/tests/test_eval.py +52 -0
  344. pymcpp-5.0.0/extern/pybind11/tests/test_eval_call.py +5 -0
  345. pymcpp-5.0.0/extern/pybind11/tests/test_exceptions.cpp +427 -0
  346. pymcpp-5.0.0/extern/pybind11/tests/test_exceptions.h +13 -0
  347. pymcpp-5.0.0/extern/pybind11/tests/test_exceptions.py +439 -0
  348. pymcpp-5.0.0/extern/pybind11/tests/test_factory_constructors.cpp +434 -0
  349. pymcpp-5.0.0/extern/pybind11/tests/test_factory_constructors.py +531 -0
  350. pymcpp-5.0.0/extern/pybind11/tests/test_gil_scoped.cpp +144 -0
  351. pymcpp-5.0.0/extern/pybind11/tests/test_gil_scoped.py +294 -0
  352. pymcpp-5.0.0/extern/pybind11/tests/test_iostream.cpp +162 -0
  353. pymcpp-5.0.0/extern/pybind11/tests/test_iostream.py +329 -0
  354. pymcpp-5.0.0/extern/pybind11/tests/test_kwargs_and_defaults.cpp +331 -0
  355. pymcpp-5.0.0/extern/pybind11/tests/test_kwargs_and_defaults.py +473 -0
  356. pymcpp-5.0.0/extern/pybind11/tests/test_local_bindings.cpp +131 -0
  357. pymcpp-5.0.0/extern/pybind11/tests/test_local_bindings.py +291 -0
  358. pymcpp-5.0.0/extern/pybind11/tests/test_methods_and_attributes.cpp +788 -0
  359. pymcpp-5.0.0/extern/pybind11/tests/test_methods_and_attributes.py +715 -0
  360. pymcpp-5.0.0/extern/pybind11/tests/test_modules.cpp +124 -0
  361. pymcpp-5.0.0/extern/pybind11/tests/test_modules.py +146 -0
  362. pymcpp-5.0.0/extern/pybind11/tests/test_multiple_inheritance.cpp +341 -0
  363. pymcpp-5.0.0/extern/pybind11/tests/test_multiple_inheritance.py +500 -0
  364. pymcpp-5.0.0/extern/pybind11/tests/test_multiple_interpreters.py +437 -0
  365. pymcpp-5.0.0/extern/pybind11/tests/test_native_enum.cpp +262 -0
  366. pymcpp-5.0.0/extern/pybind11/tests/test_native_enum.py +377 -0
  367. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_array.cpp +616 -0
  368. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_array.py +749 -0
  369. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_dtypes.cpp +745 -0
  370. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_dtypes.py +464 -0
  371. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_scalars.cpp +63 -0
  372. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_scalars.py +54 -0
  373. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_vectorize.cpp +137 -0
  374. pymcpp-5.0.0/extern/pybind11/tests/test_numpy_vectorize.py +319 -0
  375. pymcpp-5.0.0/extern/pybind11/tests/test_opaque_types.cpp +77 -0
  376. pymcpp-5.0.0/extern/pybind11/tests/test_opaque_types.py +64 -0
  377. pymcpp-5.0.0/extern/pybind11/tests/test_operator_overloading.cpp +281 -0
  378. pymcpp-5.0.0/extern/pybind11/tests/test_operator_overloading.py +161 -0
  379. pymcpp-5.0.0/extern/pybind11/tests/test_pickling.cpp +191 -0
  380. pymcpp-5.0.0/extern/pybind11/tests/test_pickling.py +149 -0
  381. pymcpp-5.0.0/extern/pybind11/tests/test_potentially_slicing_weak_ptr.cpp +170 -0
  382. pymcpp-5.0.0/extern/pybind11/tests/test_potentially_slicing_weak_ptr.py +174 -0
  383. pymcpp-5.0.0/extern/pybind11/tests/test_python_multiple_inheritance.cpp +45 -0
  384. pymcpp-5.0.0/extern/pybind11/tests/test_python_multiple_inheritance.py +36 -0
  385. pymcpp-5.0.0/extern/pybind11/tests/test_pytorch_shared_ptr_cast_regression.cpp +62 -0
  386. pymcpp-5.0.0/extern/pybind11/tests/test_pytorch_shared_ptr_cast_regression.py +25 -0
  387. pymcpp-5.0.0/extern/pybind11/tests/test_pytypes.cpp +1215 -0
  388. pymcpp-5.0.0/extern/pybind11/tests/test_pytypes.py +1374 -0
  389. pymcpp-5.0.0/extern/pybind11/tests/test_scoped_critical_section.cpp +274 -0
  390. pymcpp-5.0.0/extern/pybind11/tests/test_scoped_critical_section.py +30 -0
  391. pymcpp-5.0.0/extern/pybind11/tests/test_sequences_and_iterators.cpp +600 -0
  392. pymcpp-5.0.0/extern/pybind11/tests/test_sequences_and_iterators.py +307 -0
  393. pymcpp-5.0.0/extern/pybind11/tests/test_smart_ptr.cpp +627 -0
  394. pymcpp-5.0.0/extern/pybind11/tests/test_smart_ptr.py +370 -0
  395. pymcpp-5.0.0/extern/pybind11/tests/test_standalone_enum_module.py +18 -0
  396. pymcpp-5.0.0/extern/pybind11/tests/test_stl.cpp +667 -0
  397. pymcpp-5.0.0/extern/pybind11/tests/test_stl.py +735 -0
  398. pymcpp-5.0.0/extern/pybind11/tests/test_stl_binders.cpp +275 -0
  399. pymcpp-5.0.0/extern/pybind11/tests/test_stl_binders.py +414 -0
  400. pymcpp-5.0.0/extern/pybind11/tests/test_tagbased_polymorphic.cpp +150 -0
  401. pymcpp-5.0.0/extern/pybind11/tests/test_tagbased_polymorphic.py +30 -0
  402. pymcpp-5.0.0/extern/pybind11/tests/test_thread.cpp +108 -0
  403. pymcpp-5.0.0/extern/pybind11/tests/test_thread.py +80 -0
  404. pymcpp-5.0.0/extern/pybind11/tests/test_type_caster_pyobject_ptr.cpp +168 -0
  405. pymcpp-5.0.0/extern/pybind11/tests/test_type_caster_pyobject_ptr.py +125 -0
  406. pymcpp-5.0.0/extern/pybind11/tests/test_type_caster_std_function_specializations.cpp +46 -0
  407. pymcpp-5.0.0/extern/pybind11/tests/test_type_caster_std_function_specializations.py +15 -0
  408. pymcpp-5.0.0/extern/pybind11/tests/test_union.cpp +22 -0
  409. pymcpp-5.0.0/extern/pybind11/tests/test_union.py +10 -0
  410. pymcpp-5.0.0/extern/pybind11/tests/test_unnamed_namespace_a.cpp +37 -0
  411. pymcpp-5.0.0/extern/pybind11/tests/test_unnamed_namespace_a.py +33 -0
  412. pymcpp-5.0.0/extern/pybind11/tests/test_unnamed_namespace_b.cpp +13 -0
  413. pymcpp-5.0.0/extern/pybind11/tests/test_unnamed_namespace_b.py +7 -0
  414. pymcpp-5.0.0/extern/pybind11/tests/test_vector_unique_ptr_member.cpp +54 -0
  415. pymcpp-5.0.0/extern/pybind11/tests/test_vector_unique_ptr_member.py +16 -0
  416. pymcpp-5.0.0/extern/pybind11/tests/test_virtual_functions.cpp +591 -0
  417. pymcpp-5.0.0/extern/pybind11/tests/test_virtual_functions.py +468 -0
  418. pymcpp-5.0.0/extern/pybind11/tests/test_warnings.cpp +46 -0
  419. pymcpp-5.0.0/extern/pybind11/tests/test_warnings.py +68 -0
  420. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/CMakeLists.txt +64 -0
  421. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/catch.cpp +175 -0
  422. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/catch_skip.h +21 -0
  423. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/external_module.cpp +39 -0
  424. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_args_convert_vector.cpp +80 -0
  425. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_argument_vector.cpp +94 -0
  426. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_interpreter.cpp +511 -0
  427. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_interpreter.py +16 -0
  428. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_subinterpreter.cpp +579 -0
  429. pymcpp-5.0.0/extern/pybind11/tests/test_with_catch/test_trampoline.py +18 -0
  430. pymcpp-5.0.0/extern/pybind11/tests/valgrind-numpy-scipy.supp +140 -0
  431. pymcpp-5.0.0/extern/pybind11/tests/valgrind-python.supp +117 -0
  432. pymcpp-5.0.0/extern/pybind11/tools/FindCatch.cmake +74 -0
  433. pymcpp-5.0.0/extern/pybind11/tools/FindEigen3.cmake +86 -0
  434. pymcpp-5.0.0/extern/pybind11/tools/FindPythonLibsNew.cmake +320 -0
  435. pymcpp-5.0.0/extern/pybind11/tools/JoinPaths.cmake +23 -0
  436. pymcpp-5.0.0/extern/pybind11/tools/check-style.sh +44 -0
  437. pymcpp-5.0.0/extern/pybind11/tools/cmake_uninstall.cmake.in +23 -0
  438. pymcpp-5.0.0/extern/pybind11/tools/codespell_ignore_lines_from_errors.py +40 -0
  439. pymcpp-5.0.0/extern/pybind11/tools/libsize.py +38 -0
  440. pymcpp-5.0.0/extern/pybind11/tools/make_changelog.py +121 -0
  441. pymcpp-5.0.0/extern/pybind11/tools/make_global.py +33 -0
  442. pymcpp-5.0.0/extern/pybind11/tools/pybind11.pc.in +7 -0
  443. pymcpp-5.0.0/extern/pybind11/tools/pybind11Common.cmake +458 -0
  444. pymcpp-5.0.0/extern/pybind11/tools/pybind11Config.cmake.in +240 -0
  445. pymcpp-5.0.0/extern/pybind11/tools/pybind11GuessPythonExtSuffix.cmake +94 -0
  446. pymcpp-5.0.0/extern/pybind11/tools/pybind11NewTools.cmake +339 -0
  447. pymcpp-5.0.0/extern/pybind11/tools/pybind11Tools.cmake +217 -0
  448. pymcpp-5.0.0/extern/pybind11/tools/test-pybind11GuessPythonExtSuffix.cmake +185 -0
  449. pymcpp-5.0.0/notebook/.python-version +1 -0
  450. pymcpp-5.0.0/notebook/README.md +16 -0
  451. pymcpp-5.0.0/notebook/cmodel.ipynb +358 -0
  452. pymcpp-5.0.0/notebook/ellimage.ipynb +150 -0
  453. pymcpp-5.0.0/notebook/ffcustom.py +37 -0
  454. pymcpp-5.0.0/notebook/ffdep.ipynb +336 -0
  455. pymcpp-5.0.0/notebook/fflin.py +28 -0
  456. pymcpp-5.0.0/notebook/ffmlp.ipynb +216 -0
  457. pymcpp-5.0.0/notebook/ffunc.ipynb +704 -0
  458. pymcpp-5.0.0/notebook/interval.ipynb +291 -0
  459. pymcpp-5.0.0/notebook/mccormick.ipynb +474 -0
  460. pymcpp-5.0.0/notebook/peak_ReLU_20L2.pt +0 -0
  461. pymcpp-5.0.0/notebook/polimage.ipynb +483 -0
  462. pymcpp-5.0.0/notebook/pyproject.toml +19 -0
  463. pymcpp-5.0.0/notebook/scmodel.ipynb +312 -0
  464. pymcpp-5.0.0/notebook/slift.py +36 -0
  465. pymcpp-5.0.0/notebook/specbnd.ipynb +377 -0
  466. pymcpp-5.0.0/notebook/supmodel.ipynb +541 -0
  467. pymcpp-5.0.0/notebook/uv.lock +1114 -0
  468. pymcpp-5.0.0/pyproject.toml +31 -0
  469. pymcpp-5.0.0/src/makefile +61 -0
  470. pymcpp-5.0.0/src/makeoptions.mk +99 -0
  471. pymcpp-5.0.0/src/mc/bdiff.hpp +392 -0
  472. pymcpp-5.0.0/src/mc/cmodel.hpp +4825 -0
  473. pymcpp-5.0.0/src/mc/ellimage.hpp +2547 -0
  474. pymcpp-5.0.0/src/mc/ellipsoid.hpp +1824 -0
  475. pymcpp-5.0.0/src/mc/fdiff.hpp +452 -0
  476. pymcpp-5.0.0/src/mc/ffcustom.hpp +751 -0
  477. pymcpp-5.0.0/src/mc/ffdagext.hpp +1079 -0
  478. pymcpp-5.0.0/src/mc/ffdep.hpp +1249 -0
  479. pymcpp-5.0.0/src/mc/ffexpr.hpp +1424 -0
  480. pymcpp-5.0.0/src/mc/ffextern.hpp +1576 -0
  481. pymcpp-5.0.0/src/mc/ffinv.hpp +1160 -0
  482. pymcpp-5.0.0/src/mc/fflin.hpp +725 -0
  483. pymcpp-5.0.0/src/mc/ffmlp.hpp +1988 -0
  484. pymcpp-5.0.0/src/mc/ffmlpreg.hpp +971 -0
  485. pymcpp-5.0.0/src/mc/ffspol.hpp +321 -0
  486. pymcpp-5.0.0/src/mc/ffunc.hpp +14700 -0
  487. pymcpp-5.0.0/src/mc/ffvect.hpp +866 -0
  488. pymcpp-5.0.0/src/mc/interval.hpp +1488 -0
  489. pymcpp-5.0.0/src/mc/mc.mk +42 -0
  490. pymcpp-5.0.0/src/mc/mcboost.hpp +547 -0
  491. pymcpp-5.0.0/src/mc/mccormick.hpp +5801 -0
  492. pymcpp-5.0.0/src/mc/mcfadbad.hpp +1588 -0
  493. pymcpp-5.0.0/src/mc/mcfilib.hpp +903 -0
  494. pymcpp-5.0.0/src/mc/mcfunc.hpp +492 -0
  495. pymcpp-5.0.0/src/mc/mchsl.hpp +323 -0
  496. pymcpp-5.0.0/src/mc/mclapack.hpp +534 -0
  497. pymcpp-5.0.0/src/mc/mcop.hpp +471 -0
  498. pymcpp-5.0.0/src/mc/mcprofil.hpp +500 -0
  499. pymcpp-5.0.0/src/mc/mctime.hpp +34 -0
  500. pymcpp-5.0.0/src/mc/ocbase.hpp +4796 -0
  501. pymcpp-5.0.0/src/mc/polimage.hpp +8792 -0
  502. pymcpp-5.0.0/src/mc/polymodel.hpp +1324 -0
  503. pymcpp-5.0.0/src/mc/pwcu.hpp +1620 -0
  504. pymcpp-5.0.0/src/mc/pwlu.hpp +2363 -0
  505. pymcpp-5.0.0/src/mc/scmodel.hpp +5766 -0
  506. pymcpp-5.0.0/src/mc/sicmodel.hpp +5760 -0
  507. pymcpp-5.0.0/src/mc/slift.hpp +2260 -0
  508. pymcpp-5.0.0/src/mc/smon.hpp +777 -0
  509. pymcpp-5.0.0/src/mc/specbnd.hpp +2963 -0
  510. pymcpp-5.0.0/src/mc/spoly.hpp +1831 -0
  511. pymcpp-5.0.0/src/mc/supmodel.hpp +6153 -0
  512. pymcpp-5.0.0/src/mc/tdiff.hpp +352 -0
  513. pymcpp-5.0.0/src/mc/tmodel.hpp +4090 -0
  514. pymcpp-5.0.0/src/pymcpp/cmodel.cpp +355 -0
  515. pymcpp-5.0.0/src/pymcpp/ellimage.cpp +844 -0
  516. pymcpp-5.0.0/src/pymcpp/ffcustom.cpp +197 -0
  517. pymcpp-5.0.0/src/pymcpp/ffdagext.cpp +321 -0
  518. pymcpp-5.0.0/src/pymcpp/ffdep.cpp +132 -0
  519. pymcpp-5.0.0/src/pymcpp/ffinv.cpp +249 -0
  520. pymcpp-5.0.0/src/pymcpp/fflin.cpp +98 -0
  521. pymcpp-5.0.0/src/pymcpp/ffmlp.cpp +356 -0
  522. pymcpp-5.0.0/src/pymcpp/ffmon.cpp +113 -0
  523. pymcpp-5.0.0/src/pymcpp/ffpoly.cpp +190 -0
  524. pymcpp-5.0.0/src/pymcpp/ffunc.cpp +1566 -0
  525. pymcpp-5.0.0/src/pymcpp/ffvect.cpp +122 -0
  526. pymcpp-5.0.0/src/pymcpp/interval.cpp +171 -0
  527. pymcpp-5.0.0/src/pymcpp/mccormick.cpp +248 -0
  528. pymcpp-5.0.0/src/pymcpp/mcfadbad.cpp +342 -0
  529. pymcpp-5.0.0/src/pymcpp/mcfunc.cpp +49 -0
  530. pymcpp-5.0.0/src/pymcpp/polimage.cpp +513 -0
  531. pymcpp-5.0.0/src/pymcpp/pymcpp.cpp +105 -0
  532. pymcpp-5.0.0/src/pymcpp/pymcpp.mk +61 -0
  533. pymcpp-5.0.0/src/pymcpp/scmodel.cpp +384 -0
  534. pymcpp-5.0.0/src/pymcpp/sicmodel.cpp +386 -0
  535. pymcpp-5.0.0/src/pymcpp/slift.cpp +306 -0
  536. pymcpp-5.0.0/src/pymcpp/smon.cpp +113 -0
  537. pymcpp-5.0.0/src/pymcpp/specbnd.cpp +272 -0
  538. pymcpp-5.0.0/src/pymcpp/spoly.cpp +191 -0
  539. pymcpp-5.0.0/src/pymcpp/supmodel.cpp +718 -0
  540. pymcpp-5.0.0/src/pymcpp/test.py +115 -0
  541. pymcpp-5.0.0/src/pymcpp/tmodel.cpp +376 -0
  542. pymcpp-5.0.0/test/DAG/DAG_analyze.cpp +317 -0
  543. pymcpp-5.0.0/test/DAG/DAG_compose.cpp +444 -0
  544. pymcpp-5.0.0/test/DAG/DAG_differentiate.cpp +705 -0
  545. pymcpp-5.0.0/test/DAG/DAG_doxygen.cpp +337 -0
  546. pymcpp-5.0.0/test/DAG/DAG_evaluate.cpp +1021 -0
  547. pymcpp-5.0.0/test/DAG/DAG_external.cpp +2339 -0
  548. pymcpp-5.0.0/test/DAG/DAG_store.cpp +36 -0
  549. pymcpp-5.0.0/test/DAG/DAG_unittests.cpp +1256 -0
  550. pymcpp-5.0.0/test/DAG/ReLUANN_30L1.hpp +42 -0
  551. pymcpp-5.0.0/test/DAG/ReLUANN_40L4.hpp +1770 -0
  552. pymcpp-5.0.0/test/DAG/fims.txt +249 -0
  553. pymcpp-5.0.0/test/DAG/makefile +55 -0
  554. pymcpp-5.0.0/test/ELLIMG/ELL-2D.cpp +418 -0
  555. pymcpp-5.0.0/test/ELLIMG/ELL-2D.g +26 -0
  556. pymcpp-5.0.0/test/ELLIMG/ELL-Doxygen.cpp +87 -0
  557. pymcpp-5.0.0/test/ELLIMG/makefile +36 -0
  558. pymcpp-5.0.0/test/FADBAD/makefile +41 -0
  559. pymcpp-5.0.0/test/FADBAD/test_bdiff.cpp +220 -0
  560. pymcpp-5.0.0/test/FADBAD/test_bench_bt.cpp +35 -0
  561. pymcpp-5.0.0/test/FADBAD/test_fadbad.cpp +625 -0
  562. pymcpp-5.0.0/test/FADBAD/test_fdiff.cpp +255 -0
  563. pymcpp-5.0.0/test/FADBAD/test_forms.cpp +38 -0
  564. pymcpp-5.0.0/test/FADBAD/test_mc_dep.cpp +72 -0
  565. pymcpp-5.0.0/test/FADBAD/test_perf.cpp +97 -0
  566. pymcpp-5.0.0/test/FADBAD/test_tdiff.cpp +184 -0
  567. pymcpp-5.0.0/test/INTERVAL/INT-1D.cpp +330 -0
  568. pymcpp-5.0.0/test/INTERVAL/INT-1D.g +15 -0
  569. pymcpp-5.0.0/test/INTERVAL/INT-2D.cpp +276 -0
  570. pymcpp-5.0.0/test/INTERVAL/INT-2D.g +10 -0
  571. pymcpp-5.0.0/test/INTERVAL/makefile +35 -0
  572. pymcpp-5.0.0/test/MCCORMICK/MC-1D.cpp +400 -0
  573. pymcpp-5.0.0/test/MCCORMICK/MC-1D.g +33 -0
  574. pymcpp-5.0.0/test/MCCORMICK/MC-2D.cpp +379 -0
  575. pymcpp-5.0.0/test/MCCORMICK/MC-2D.g +31 -0
  576. pymcpp-5.0.0/test/MCCORMICK/makefile +35 -0
  577. pymcpp-5.0.0/test/ML/Yanlin_Tanh_20L2.hpp +258 -0
  578. pymcpp-5.0.0/test/ML/Yanlin_Tanh_48L4.hpp +3690 -0
  579. pymcpp-5.0.0/test/ML/makefile +40 -0
  580. pymcpp-5.0.0/test/ML/peak_ReLU_20L2.pt +0 -0
  581. pymcpp-5.0.0/test/ML/peak_ReLU_30L1.hpp +42 -0
  582. pymcpp-5.0.0/test/ML/peak_ReLU_40L4.hpp +1770 -0
  583. pymcpp-5.0.0/test/ML/peak_ReLU_40L4.pt +0 -0
  584. pymcpp-5.0.0/test/ML/peak_Tanh_20L2.pt +0 -0
  585. pymcpp-5.0.0/test/ML/peak_Tanh_40L4.pt +0 -0
  586. pymcpp-5.0.0/test/ML/test_MLP.cpp +547 -0
  587. pymcpp-5.0.0/test/ML/test_MLP.gpt +67 -0
  588. pymcpp-5.0.0/test/ML/test_MLPREG.cpp +222 -0
  589. pymcpp-5.0.0/test/ML/test_Torch.cpp +625 -0
  590. pymcpp-5.0.0/test/ML/test_Torch.gpt +55 -0
  591. pymcpp-5.0.0/test/POLYMODEL/CM-1D.cpp +394 -0
  592. pymcpp-5.0.0/test/POLYMODEL/CM-1D.g +54 -0
  593. pymcpp-5.0.0/test/POLYMODEL/CM-2D.cpp +520 -0
  594. pymcpp-5.0.0/test/POLYMODEL/CM-2D.g +45 -0
  595. pymcpp-5.0.0/test/POLYMODEL/CM-SCM-2D.cpp +345 -0
  596. pymcpp-5.0.0/test/POLYMODEL/SCM-Bernstein.cpp +281 -0
  597. pymcpp-5.0.0/test/POLYMODEL/SCM-Bernstein.g +26 -0
  598. pymcpp-5.0.0/test/POLYMODEL/SCM-SICM-2D.cpp +559 -0
  599. pymcpp-5.0.0/test/POLYMODEL/SCM-SICM-2D.g +61 -0
  600. pymcpp-5.0.0/test/POLYMODEL/TM-1D.cpp +352 -0
  601. pymcpp-5.0.0/test/POLYMODEL/TM-1D.g +36 -0
  602. pymcpp-5.0.0/test/POLYMODEL/TM-2D.cpp +253 -0
  603. pymcpp-5.0.0/test/POLYMODEL/TM-2D.g +40 -0
  604. pymcpp-5.0.0/test/POLYMODEL/makefile +38 -0
  605. pymcpp-5.0.0/test/POLYSYMB/SPOLY-TEST.cpp +119 -0
  606. pymcpp-5.0.0/test/POLYSYMB/makefile +20 -0
  607. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-1D.eps +13630 -0
  608. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-1D.g +53 -0
  609. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-1D.out +500 -0
  610. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-PM1-1D.out +500 -0
  611. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-PM10-1D.out +500 -0
  612. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-PM2-1D.out +500 -0
  613. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-PM3-1D.out +500 -0
  614. pymcpp-5.0.0/test/RELAX/EXP/POLIMG-PM5-1D.out +500 -0
  615. pymcpp-5.0.0/test/RELAX/FFDAGEXT_2d.cpp +495 -0
  616. pymcpp-5.0.0/test/RELAX/FFDAGEXT_2d.g +25 -0
  617. pymcpp-5.0.0/test/RELAX/LINREL_1d.cpp +576 -0
  618. pymcpp-5.0.0/test/RELAX/LINREL_1d.g +17 -0
  619. pymcpp-5.0.0/test/RELAX/LINREL_2d.cpp +465 -0
  620. pymcpp-5.0.0/test/RELAX/LINREL_2d.g +23 -0
  621. pymcpp-5.0.0/test/RELAX/LINREL_Doxygen.cpp +39 -0
  622. pymcpp-5.0.0/test/RELAX/LINREL_build.cpp +59 -0
  623. pymcpp-5.0.0/test/RELAX/LINREL_build2.cpp +57 -0
  624. pymcpp-5.0.0/test/RELAX/LINREL_build3.cpp +63 -0
  625. pymcpp-5.0.0/test/RELAX/PWLREL_1d.cpp +502 -0
  626. pymcpp-5.0.0/test/RELAX/PWLREL_1d.g +17 -0
  627. pymcpp-5.0.0/test/RELAX/makefile +44 -0
  628. pymcpp-5.0.0/test/SPECTRAL/SB-2D.cpp +467 -0
  629. pymcpp-5.0.0/test/SPECTRAL/SB-2D.g +26 -0
  630. pymcpp-5.0.0/test/SPECTRAL/makefile +33 -0
  631. pymcpp-5.0.0/test/SUPRELAX/SM-1D.cpp +201 -0
  632. pymcpp-5.0.0/test/SUPRELAX/SM-1D.gpt +42 -0
  633. pymcpp-5.0.0/test/SUPRELAX/SM-2D.cpp +1063 -0
  634. pymcpp-5.0.0/test/SUPRELAX/SM-2D.gpt +37 -0
  635. pymcpp-5.0.0/test/SUPRELAX/SM-2D_rate.gpt +81 -0
  636. pymcpp-5.0.0/test/SUPRELAX/makefile +56 -0
  637. pymcpp-5.0.0/test/SUPRELAX/testpwcu.cpp +571 -0
  638. pymcpp-5.0.0/test/SUPRELAX/testpwlu.cpp +610 -0
@@ -0,0 +1,13 @@
1
+ # MC++ project C/C++ style.
2
+ ---
3
+ Language: Cpp
4
+ BasedOnStyle: Google
5
+ ColumnLimit: 80
6
+ BreakBeforeBraces: Allman
7
+ AlwaysBreakAfterReturnType: AllDefinitions
8
+ # "if (x)" not "if(x)"; function calls keep no space: "foo(x)".
9
+ SpaceBeforeParens: ControlStatements
10
+ PointerAlignment: Left
11
+ ReferenceAlignment: Left
12
+ DerivePointerAlignment: false
13
+ AlignConsecutiveAssignments: Consecutive
@@ -0,0 +1 @@
1
+ 0a31930551c3780c90d39f5c1da32a6c4d3844b3
@@ -0,0 +1,175 @@
1
+ name: wheels
2
+
3
+ on:
4
+ push:
5
+ branches: [version-5.0]
6
+ tags: ["v*"]
7
+ pull_request:
8
+ branches: [version-5.0]
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ build_wheels:
13
+ name: Build wheels (${{ matrix.os }})
14
+ runs-on: ${{ matrix.os }}
15
+ # Windows is experimental: let it fail without failing the workflow, so a
16
+ # tagged release still publishes the Linux/macOS wheels.
17
+ continue-on-error: ${{ matrix.os == 'windows-latest' }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ # macos pinned (not -latest): brew libs target the runner's OS version,
22
+ # which must match MACOSX_DEPLOYMENT_TARGET below or delocate refuses.
23
+ # macos-13 (Intel) was retired by GitHub; macos-15-intel is the only
24
+ # remaining Intel label if x86_64 macOS wheels are ever wanted again.
25
+ os: [ubuntu-latest, macos-14, windows-latest]
26
+ # ubuntu-latest -> manylinux x86_64, macos-14 -> arm64,
27
+ # windows-latest -> AMD64 (all via ARCHS auto64)
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ with:
31
+ submodules: recursive
32
+
33
+ - uses: pypa/cibuildwheel@v4.1
34
+ env:
35
+ CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-*"
36
+ # musllinux (Alpine) skipped: no EPEL, Armadillo would need a source build
37
+ CIBW_SKIP: "*-musllinux*"
38
+ CIBW_ARCHS: auto64
39
+ CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
40
+ CIBW_TEST_COMMAND: python {project}/src/pymcpp/test.py
41
+ CIBW_BUILD_VERBOSITY: 1
42
+
43
+ # --- Linux ---
44
+ # manylinux_2_28 is AlmaLinux 8: Armadillo comes from EPEL (needs
45
+ # powertools for its deps). The distro Boost (1.66) has no CMake
46
+ # config files, which find_package(Boost CONFIG) requires, so install
47
+ # recent Boost from source; --with-system builds one tiny library but
48
+ # installs all headers plus BoostConfig.cmake.
49
+ CIBW_BEFORE_ALL_LINUX: >
50
+ dnf install -y epel-release &&
51
+ dnf config-manager --set-enabled powertools &&
52
+ dnf install -y armadillo-devel openblas-devel &&
53
+ curl -sL https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.gz | tar xz -C /tmp &&
54
+ cd /tmp/boost_1_86_0 &&
55
+ ./bootstrap.sh --prefix=/usr/local &&
56
+ ./b2 install --with-system -j4
57
+
58
+ # --- macOS ---
59
+ # Homebrew libs are built for the runner's OS version, so the wheel
60
+ # must target at least that; without this delocate rejects the wheel.
61
+ CIBW_BEFORE_ALL_MACOS: brew install boost armadillo
62
+ CIBW_ENVIRONMENT_MACOS: >
63
+ MACOSX_DEPLOYMENT_TARGET=14.0
64
+
65
+ # --- Windows ---
66
+ # vcpkg is preinstalled on the runner; the toolchain file makes
67
+ # find_package resolve to vcpkg-built Boost/Armadillo. The compiler
68
+ # is forced to clang-cl (MSVC-compatible ABI, but accepts the C99
69
+ # VLAs that MC++ uses and that cl.exe hard-rejects). delvewheel
70
+ # bundles the dependency DLLs into the wheel (cibuildwheel has no
71
+ # default repair step on Windows).
72
+ CIBW_BEFORE_ALL_WINDOWS: vcpkg install --triplet x64-windows armadillo boost
73
+ CIBW_ENVIRONMENT_WINDOWS: >
74
+ CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_CXX_COMPILER=clang-cl"
75
+ CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel
76
+ CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: >
77
+ delvewheel repair --add-path C:/vcpkg/installed/x64-windows/bin -w {dest_dir} {wheel}
78
+
79
+ - uses: actions/upload-artifact@v4
80
+ with:
81
+ name: wheels-${{ matrix.os }}
82
+ path: wheelhouse/*.whl
83
+
84
+ # Experimental: torch-enabled Linux wheel, built against the CPU torch wheel
85
+ # installed in the build environment. NOT published to PyPI: the module links
86
+ # against libtorch, so `import torch` must happen before `import pymcpp`, and
87
+ # the wheel is coupled to the torch version it was built against. The
88
+ # artifact name deliberately does not match wheels-* so the publish job
89
+ # ignores it.
90
+ build_torch_wheel:
91
+ name: Build torch-enabled wheel (experimental, Linux)
92
+ runs-on: ubuntu-latest
93
+ steps:
94
+ - uses: actions/checkout@v4
95
+ with:
96
+ submodules: recursive
97
+
98
+ - uses: pypa/cibuildwheel@v4.1
99
+ env:
100
+ CIBW_BUILD: "cp312-manylinux_x86_64"
101
+ CIBW_ARCHS: x86_64
102
+ CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
103
+ CIBW_BUILD_VERBOSITY: 1
104
+ CIBW_BEFORE_ALL_LINUX: >
105
+ dnf install -y epel-release &&
106
+ dnf config-manager --set-enabled powertools &&
107
+ dnf install -y armadillo-devel openblas-devel &&
108
+ curl -sL https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.gz | tar xz -C /tmp &&
109
+ cd /tmp/boost_1_86_0 &&
110
+ ./bootstrap.sh --prefix=/usr/local &&
111
+ ./b2 install --with-system -j4
112
+ # CMakeLists resolves torch from the *build* interpreter, so torch
113
+ # must be visible there: disable pip's build isolation and install
114
+ # the build requirements (plus CPU-only torch) into the environment
115
+ # ourselves.
116
+ CIBW_BUILD_FRONTEND: "build; args: --no-isolation"
117
+ CIBW_BEFORE_BUILD_LINUX: >
118
+ pip install torch --index-url https://download.pytorch.org/whl/cpu &&
119
+ pip install "scikit-build-core>=0.10" "pybind11>=2.13" "pybind11-stubgen>=2.5" ninja cmake
120
+ # Override the pyproject default (ENABLE_TORCH=OFF) for this job only.
121
+ CIBW_ENVIRONMENT_LINUX: SKBUILD_CMAKE_DEFINE="ENABLE_TORCH=ON"
122
+ # Do NOT vendor libtorch into the wheel: it must come from the
123
+ # user-installed torch package at runtime.
124
+ CIBW_REPAIR_WHEEL_COMMAND_LINUX: >
125
+ auditwheel repair
126
+ --exclude libtorch_cpu.so --exclude libtorch.so
127
+ --exclude libc10.so
128
+ -w {dest_dir} {wheel}
129
+ CIBW_BEFORE_TEST: pip install torch --index-url https://download.pytorch.org/whl/cpu
130
+ # torch must be imported first: importing it loads libtorch into the
131
+ # process, which is where the pymcpp module resolves its symbols.
132
+ CIBW_TEST_COMMAND: python -c "import torch, pymcpp; print(pymcpp.FFGraph())"
133
+
134
+ - uses: actions/upload-artifact@v4
135
+ with:
136
+ name: torch-wheel-experimental
137
+ path: wheelhouse/*.whl
138
+
139
+ # Source distribution: lets users build locally against their own
140
+ # dependencies, notably `pip install pymcpp --no-binary pymcpp
141
+ # -C cmake.define.ENABLE_TORCH=ON` to get a torch-enabled module compiled
142
+ # against exactly their installed torch version.
143
+ build_sdist:
144
+ name: Build sdist
145
+ runs-on: ubuntu-latest
146
+ steps:
147
+ - uses: actions/checkout@v4
148
+ with:
149
+ submodules: recursive
150
+
151
+ - run: pipx run build --sdist
152
+
153
+ - uses: actions/upload-artifact@v4
154
+ with:
155
+ name: wheels-sdist # matches the publish job's wheels-* pattern
156
+ path: dist/*.tar.gz
157
+
158
+ publish:
159
+ name: Publish to PyPI
160
+ if: startsWith(github.ref, 'refs/tags/v')
161
+ # The torch-enabled build must succeed for a release, even though its
162
+ # wheel artifact is not published.
163
+ needs: [build_wheels, build_sdist, build_torch_wheel]
164
+ runs-on: ubuntu-latest
165
+ environment: pypi
166
+ permissions:
167
+ id-token: write # trusted publishing
168
+ steps:
169
+ - uses: actions/download-artifact@v4
170
+ with:
171
+ pattern: wheels-*
172
+ path: dist
173
+ merge-multiple: true
174
+
175
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,34 @@
1
+ # Build artifacts
2
+ /build
3
+
4
+ # Generated Doxygen documentation
5
+ /doc/html
6
+
7
+ # IDE config directories
8
+ .idea/
9
+ .vscode/
10
+ .zed/
11
+
12
+ # Compiled Python files
13
+ *.py[cod]
14
+ __pycache__/
15
+
16
+ # Python virtual environment
17
+ .venv/
18
+
19
+ # Jupyter
20
+ .ipynb_checkpoints/
21
+
22
+ # Log files
23
+ *.log
24
+
25
+ # OS-specific generated files
26
+ .DS_Store
27
+ Thumbs.db
28
+
29
+ # test generated files
30
+ test/DAG/*.dot
31
+
32
+ # python wheel builds
33
+ dist/
34
+ *.dot
@@ -0,0 +1,4 @@
1
+ [submodule "extern/pybind11"]
2
+ path = extern/pybind11
3
+ url = https://github.com/pybind/pybind11
4
+ branch = stable
@@ -0,0 +1,23 @@
1
+ # Setup (once): pip install pre-commit && pre-commit install
2
+ exclude: '^(src/3rdparty/|extern/)|\.ipynb$'
3
+
4
+ repos:
5
+ - repo: https://github.com/pre-commit/mirrors-clang-format
6
+ rev: v18.1.8
7
+ hooks:
8
+ - id: clang-format
9
+ types_or: [c++, c]
10
+
11
+ - repo: https://github.com/cheshirekow/cmake-format-precommit
12
+ rev: v0.6.13
13
+ hooks:
14
+ - id: cmake-format
15
+
16
+ - repo: https://github.com/pre-commit/pre-commit-hooks
17
+ rev: v6.0.0
18
+ hooks:
19
+ - id: end-of-file-fixer
20
+ - id: mixed-line-ending
21
+ args: ['--fix=lf']
22
+ - id: trailing-whitespace
23
+ args: ['--markdown-linebreak-ext=md']
pymcpp-5.0.0/AUTHORS ADDED
@@ -0,0 +1,33 @@
1
+ Main developer:
2
+
3
+ - Benoit Chachuat, project lead (Imperial College London)
4
+
5
+ Contributors:
6
+
7
+ - Ali Sahlodin (McMaster University, MIT)
8
+
9
+ Coding, testing, debugging of Taylor model
10
+
11
+ - Jai Rajyaguru, Nikola Peric, Akshay Shah (Imperial)
12
+ Mario Eduardo Villanueva (Imperial College London, ShanghaiTech, IMT Lucca)
13
+
14
+ Coding, testing, debugging of spectral bound, ellipsoidal bound, Chebyshev model
15
+
16
+ - Yanlin Zha (Imperial)
17
+
18
+ Coding, testing, debugging of interval superposition arithmetic
19
+
20
+ - Alexander Mitsos (MIT, RWTH Aachen)
21
+ Joe Scott (MIT, Clemson University)
22
+ Paul Barton (MIT)
23
+ Angelos Tsoukalas (MIT, American University of Beirut)
24
+ Jaromil Najman, Dominik Bongartz (RWTH Aachen)
25
+ Dominik Bongartz (RWTH Aachen, KU Leuven)
26
+
27
+ Testing, installation
28
+
29
+ - Mario Eduardo Villanueva (ShanghaiTech, IMT Lucca)
30
+ Marco Sandrin (Imperial)
31
+ Kai Ruth (ETH Zurich, Imperial)
32
+
33
+ Releasing MC++ in GitHub and mantaining the GitHub site
pymcpp-5.0.0/CHANGES ADDED
@@ -0,0 +1,44 @@
1
+ Change in MC++ 5.0 [from MC++ 4.0]
2
+ - Updated spectral bound class (specbnd.hpp)
3
+ - Updated sparse Chebyshev model class (scmodel.hpp, sicmodel.hpp) with tailored Remez algorithm
4
+ - Updated ellipsoidal calculus and image classes (ellipsoid.hpp, ellimage.gpp) with tailored Remez algorithm
5
+ - Updated superposition relaxation class (supmodel.hpp) with new capability
6
+ - Updated DAG class (ffunc.hpp) and polyhedral relaxation (polimage.hpp) with hash maps
7
+ - Added an external operation for DAG embeddings (ffdagext.hpp)
8
+ - Moved quadratisation (squad.hpp), variable elimination (selim.hpp) and reduction constraint (sred.hpp) to sister project CANON
9
+ - All linear algebra support based on Armadillo library, kept cpplapack as legacy code
10
+ - Exposed all classes and types using pybind11
11
+ - Added python scripts and Jupyter notebook tutorials
12
+
13
+ Change in MC++ 4.0 [from MC++ 3.0]
14
+ - Changed external operation mechanism to not rely on variadic class templates
15
+ - Added external operations for linear terms (fflin.hpp), sparse polynomials (ffpol.hpp), neural networks (ffmlp.hpp, ffmlpreg.hpp)
16
+ - Further support of MC++ types in Python using pybind11
17
+
18
+ Change in MC++ 3.0 [from MC++ 2.3]
19
+ - Support of forward and backward automatic differentiation in DAG, no longer reliant on FADBAD++
20
+ - Removed depency propagation in DAG, now needing evaluation in mc::FFDep type
21
+ - Enabled external operations using variadic class templates
22
+ - Support of MC++ types in Python using pybind11
23
+
24
+ Change in MC++ 2.3 [from MC++ 2.2]
25
+ - Move semantic enabled in DAG and several set arithmetics
26
+ - Support of external operations in DAG
27
+ - Expression lifting and elimination in DAG
28
+ - Expression creator from DAG, e.g. for expert to GAMS models
29
+ - Improved interval superposition arithmetic
30
+
31
+ Change in MC++ 2.2 [from MC++ 2.1]
32
+ - Support of Boost interval library (in addition to PROFIL/BIAIS and Filib++)
33
+ - Processing of sparse expressions in DAG
34
+ - Quadratization of multivariate polynomials
35
+ - Sparse Chebyshev model arithmetic (both real- or interval-valued coefficients)
36
+ - Interval supersition arithmetic
37
+
38
+ Change in MC++ 2.1 [from MC++ 2.0]
39
+ - FADBAD++ library updated to include hyperbolic function (https://github.com/modsim/CADET-semi-analytic/tree/master/ThirdParty/FADBAD++)
40
+ - CPPLapack library updated to version 2015.05.11-1 (http://cpplapack.sourceforge.net/doc/html/index.html)
41
+ - Functions added in the DAG and computer algebra classes: cosh, sinh, tanh, lmtd, rlmtd, xlog, prod
42
+ - Support of n-ary operations in DAG (prod)
43
+ - Variadic templates for flexible composition, differentiation and evaluation methods in DAG
44
+ - Detection of quadratic, polynomial and rational dependence in DAG, in addition to linear and nonlinear dependence