xcoll 0.3.3__py3-none-any.whl → 0.3.5__py3-none-any.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 xcoll might be problematic. Click here for more details.
- xcoll/beam_elements/__init__.py +5 -0
- xcoll/beam_elements/absorber.py +2 -1
- xcoll/beam_elements/base.py +32 -17
- xcoll/beam_elements/collimators_src/absorber.h +5 -0
- xcoll/beam_elements/everest.py +14 -25
- xcoll/colldb.py +50 -27
- xcoll/general.py +1 -1
- xcoll/headers/checks.h +7 -1
- xcoll/impacts/impacts.py +2 -1
- xcoll/impacts/impacts_src/impacts.h +1 -6
- xcoll/manager.py +5 -5
- xcoll/rf_sweep.py +90 -19
- xcoll/scattering_routines/everest/__init__.py +5 -0
- xcoll/scattering_routines/everest/everest.py +1 -1
- xcoll/scattering_routines/fluka/build_fluka_input.py +58 -0
- xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.a +0 -0
- xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.so +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/Connection.d +68 -48
- xcoll/scattering_routines/fluka/flukaio/src/Connection.o +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.d +46 -37
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.o +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.d +28 -25
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.o +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.d +67 -47
- xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.o +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.d +39 -33
- xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.o +0 -0
- xcoll/scattering_routines/fluka/flukaio/src/NetIO.d +66 -47
- xcoll/scattering_routines/fluka/flukaio/src/NetIO.o +0 -0
- {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/METADATA +3 -2
- xcoll-0.3.5.dist-info/NOTICE +2 -0
- xcoll-0.3.5.dist-info/RECORD +111 -0
- {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/WHEEL +1 -1
- xcoll/beam_elements/collimators_src/base_block.h +0 -14
- xcoll/beam_elements/collimators_src/base_collimator.h +0 -14
- xcoll/beam_elements/collimators_src/invalid_collimator.h +0 -15
- xcoll/install_collimators.py +0 -180
- xcoll/scattering_routines/geant4/collimasim/.git +0 -1
- xcoll/scattering_routines/geant4/collimasim/.gitignore +0 -12
- xcoll/scattering_routines/geant4/collimasim/.gitmodules +0 -3
- xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +0 -26
- xcoll/scattering_routines/geant4/collimasim/README.md +0 -21
- xcoll/scattering_routines/geant4/collimasim/docs/Makefile +0 -20
- xcoll/scattering_routines/geant4/collimasim/docs/make.bat +0 -35
- xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +0 -10
- xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +0 -26
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +0 -37
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +0 -1
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +0 -9
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +0 -386
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -45
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +0 -16
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +0 -969
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +0 -48
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +0 -16
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +0 -45
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +0 -151
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +0 -297
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +0 -29
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +0 -180
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +0 -192
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +0 -11
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +0 -81
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +0 -93
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +0 -310
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +0 -109
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +0 -43
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +0 -171
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +0 -251
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +0 -305
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +0 -1297
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +0 -262
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +0 -396
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +0 -568
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +0 -337
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +0 -13
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +0 -463
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +0 -286
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +0 -155
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +0 -174
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +0 -308
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +0 -91
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +0 -95
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +0 -2050
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +0 -542
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +0 -648
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +0 -381
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +0 -343
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +0 -48
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +0 -105
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +0 -72
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11-logo.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.svg +0 -427
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.svg +0 -427
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +0 -130
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +0 -96
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +0 -548
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +0 -605
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +0 -144
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +0 -1432
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +0 -213
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +0 -2
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +0 -709
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +0 -1021
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +0 -104
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +0 -346
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +0 -467
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +0 -978
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +0 -55
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +0 -606
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +0 -284
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +0 -121
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +0 -193
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +0 -275
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +0 -1741
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +0 -2497
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +0 -1879
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +0 -375
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +0 -747
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +0 -88
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +0 -11
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +0 -52
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +0 -21
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +0 -482
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +0 -63
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +0 -56
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +0 -155
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +0 -503
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +0 -208
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +0 -275
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +0 -33
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py +0 -279
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/pytest.ini +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -143
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +0 -85
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +0 -179
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +0 -151
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +0 -91
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +0 -85
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +0 -26
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +0 -25
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +0 -216
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +0 -286
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +0 -536
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +0 -107
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +0 -248
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +0 -227
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +0 -202
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +0 -210
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +0 -550
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +0 -473
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +0 -21
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -28
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -39
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -46
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -35
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +0 -10
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +0 -165
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +0 -53
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +0 -238
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +0 -126
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +0 -141
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +0 -117
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +0 -50
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +0 -69
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +0 -42
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +0 -348
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +0 -771
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +0 -47
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +0 -22
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +0 -326
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +0 -15
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +0 -148
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +0 -272
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +0 -119
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +0 -51
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +0 -5
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +0 -285
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +0 -265
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +0 -397
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +0 -520
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +0 -49
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +0 -94
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +0 -125
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +0 -331
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +0 -153
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +0 -284
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +0 -107
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +0 -257
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +0 -412
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +0 -517
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +0 -102
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +0 -92
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +0 -233
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +0 -360
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +0 -472
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +0 -593
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +0 -524
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +0 -441
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +0 -267
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +0 -235
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +0 -146
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +0 -189
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +0 -82
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +0 -560
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +0 -651
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +0 -500
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +0 -253
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +0 -452
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +0 -318
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +0 -342
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +0 -291
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +0 -131
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +0 -318
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +0 -144
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +0 -29
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +0 -66
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +0 -44
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +0 -22
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +0 -9
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +0 -510
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +0 -408
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +0 -140
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +0 -117
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +0 -70
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +0 -86
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +0 -257
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +0 -44
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +0 -39
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +0 -64
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +0 -402
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +0 -233
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +0 -276
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +0 -214
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +0 -41
- xcoll/scattering_routines/geant4/collimasim/pyproject.toml +0 -8
- xcoll/scattering_routines/geant4/collimasim/setup.py +0 -144
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +0 -403
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +0 -100
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +0 -662
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +0 -110
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +0 -8
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +0 -63
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +0 -142
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +0 -475
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +0 -6
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +0 -20
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +0 -1
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +0 -1
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +0 -1
- xcoll/scattering_routines/geant4/collimasim/tests/README.md +0 -25
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +0 -18
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +0 -68
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +0 -15
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +0 -110
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +0 -7
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +0 -54
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +0 -51
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +0 -65
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +0 -102
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +0 -75
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +0 -74
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +0 -84
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +0 -159
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +0 -80
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +0 -97
- xcoll-0.3.3.dist-info/RECORD +0 -391
- {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/LICENSE +0 -0
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
/*
|
|
3
|
-
tests/constructor_stats.h -- framework for printing and tracking object
|
|
4
|
-
instance lifetimes in example/test code.
|
|
5
|
-
|
|
6
|
-
Copyright (c) 2016 Jason Rhinelander <jason@imaginary.ca>
|
|
7
|
-
|
|
8
|
-
All rights reserved. Use of this source code is governed by a
|
|
9
|
-
BSD-style license that can be found in the LICENSE file.
|
|
10
|
-
|
|
11
|
-
This header provides a few useful tools for writing examples or tests that want to check and/or
|
|
12
|
-
display object instance lifetimes. It requires that you include this header and add the following
|
|
13
|
-
function calls to constructors:
|
|
14
|
-
|
|
15
|
-
class MyClass {
|
|
16
|
-
MyClass() { ...; print_default_created(this); }
|
|
17
|
-
~MyClass() { ...; print_destroyed(this); }
|
|
18
|
-
MyClass(const MyClass &c) { ...; print_copy_created(this); }
|
|
19
|
-
MyClass(MyClass &&c) { ...; print_move_created(this); }
|
|
20
|
-
MyClass(int a, int b) { ...; print_created(this, a, b); }
|
|
21
|
-
MyClass &operator=(const MyClass &c) { ...; print_copy_assigned(this); }
|
|
22
|
-
MyClass &operator=(MyClass &&c) { ...; print_move_assigned(this); }
|
|
23
|
-
|
|
24
|
-
...
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
You can find various examples of these in several of the existing testing .cpp files. (Of course
|
|
28
|
-
you don't need to add any of the above constructors/operators that you don't actually have, except
|
|
29
|
-
for the destructor).
|
|
30
|
-
|
|
31
|
-
Each of these will print an appropriate message such as:
|
|
32
|
-
|
|
33
|
-
### MyClass @ 0x2801910 created via default constructor
|
|
34
|
-
### MyClass @ 0x27fa780 created 100 200
|
|
35
|
-
### MyClass @ 0x2801910 destroyed
|
|
36
|
-
### MyClass @ 0x27fa780 destroyed
|
|
37
|
-
|
|
38
|
-
You can also include extra arguments (such as the 100, 200 in the output above, coming from the
|
|
39
|
-
value constructor) for all of the above methods which will be included in the output.
|
|
40
|
-
|
|
41
|
-
For testing, each of these also keeps track the created instances and allows you to check how many
|
|
42
|
-
of the various constructors have been invoked from the Python side via code such as:
|
|
43
|
-
|
|
44
|
-
from pybind11_tests import ConstructorStats
|
|
45
|
-
cstats = ConstructorStats.get(MyClass)
|
|
46
|
-
print(cstats.alive())
|
|
47
|
-
print(cstats.default_constructions)
|
|
48
|
-
|
|
49
|
-
Note that `.alive()` should usually be the first thing you call as it invokes Python's garbage
|
|
50
|
-
collector to actually destroy objects that aren't yet referenced.
|
|
51
|
-
|
|
52
|
-
For everything except copy and move constructors and destructors, any extra values given to the
|
|
53
|
-
print_...() function is stored in a class-specific values list which you can retrieve and inspect
|
|
54
|
-
from the ConstructorStats instance `.values()` method.
|
|
55
|
-
|
|
56
|
-
In some cases, when you need to track instances of a C++ class not registered with pybind11, you
|
|
57
|
-
need to add a function returning the ConstructorStats for the C++ class; this can be done with:
|
|
58
|
-
|
|
59
|
-
m.def("get_special_cstats", &ConstructorStats::get<SpecialClass>, py::return_value_policy::reference)
|
|
60
|
-
|
|
61
|
-
Finally, you can suppress the output messages, but keep the constructor tracking (for
|
|
62
|
-
inspection/testing in python) by using the functions with `print_` replaced with `track_` (e.g.
|
|
63
|
-
`track_copy_created(this)`).
|
|
64
|
-
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
#include "pybind11_tests.h"
|
|
68
|
-
#include <unordered_map>
|
|
69
|
-
#include <list>
|
|
70
|
-
#include <typeindex>
|
|
71
|
-
#include <sstream>
|
|
72
|
-
|
|
73
|
-
class ConstructorStats {
|
|
74
|
-
protected:
|
|
75
|
-
std::unordered_map<void*, int> _instances; // Need a map rather than set because members can shared address with parents
|
|
76
|
-
std::list<std::string> _values; // Used to track values (e.g. of value constructors)
|
|
77
|
-
public:
|
|
78
|
-
int default_constructions = 0;
|
|
79
|
-
int copy_constructions = 0;
|
|
80
|
-
int move_constructions = 0;
|
|
81
|
-
int copy_assignments = 0;
|
|
82
|
-
int move_assignments = 0;
|
|
83
|
-
|
|
84
|
-
void copy_created(void *inst) {
|
|
85
|
-
created(inst);
|
|
86
|
-
copy_constructions++;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
void move_created(void *inst) {
|
|
90
|
-
created(inst);
|
|
91
|
-
move_constructions++;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
void default_created(void *inst) {
|
|
95
|
-
created(inst);
|
|
96
|
-
default_constructions++;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
void created(void *inst) {
|
|
100
|
-
++_instances[inst];
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
void destroyed(void *inst) {
|
|
104
|
-
if (--_instances[inst] < 0)
|
|
105
|
-
throw std::runtime_error("cstats.destroyed() called with unknown "
|
|
106
|
-
"instance; potential double-destruction "
|
|
107
|
-
"or a missing cstats.created()");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
static void gc() {
|
|
111
|
-
// Force garbage collection to ensure any pending destructors are invoked:
|
|
112
|
-
#if defined(PYPY_VERSION)
|
|
113
|
-
PyObject *globals = PyEval_GetGlobals();
|
|
114
|
-
PyObject *result = PyRun_String(
|
|
115
|
-
"import gc\n"
|
|
116
|
-
"for i in range(2):"
|
|
117
|
-
" gc.collect()\n",
|
|
118
|
-
Py_file_input, globals, globals);
|
|
119
|
-
if (result == nullptr)
|
|
120
|
-
throw py::error_already_set();
|
|
121
|
-
Py_DECREF(result);
|
|
122
|
-
#else
|
|
123
|
-
py::module_::import("gc").attr("collect")();
|
|
124
|
-
#endif
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
int alive() {
|
|
128
|
-
gc();
|
|
129
|
-
int total = 0;
|
|
130
|
-
for (const auto &p : _instances)
|
|
131
|
-
if (p.second > 0)
|
|
132
|
-
total += p.second;
|
|
133
|
-
return total;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
void value() {} // Recursion terminator
|
|
137
|
-
// Takes one or more values, converts them to strings, then stores them.
|
|
138
|
-
template <typename T, typename... Tmore> void value(const T &v, Tmore &&...args) {
|
|
139
|
-
std::ostringstream oss;
|
|
140
|
-
oss << v;
|
|
141
|
-
_values.push_back(oss.str());
|
|
142
|
-
value(std::forward<Tmore>(args)...);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Move out stored values
|
|
146
|
-
py::list values() {
|
|
147
|
-
py::list l;
|
|
148
|
-
for (const auto &v : _values) l.append(py::cast(v));
|
|
149
|
-
_values.clear();
|
|
150
|
-
return l;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
// Gets constructor stats from a C++ type index
|
|
154
|
-
static ConstructorStats& get(std::type_index type) {
|
|
155
|
-
static std::unordered_map<std::type_index, ConstructorStats> all_cstats;
|
|
156
|
-
return all_cstats[type];
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Gets constructor stats from a C++ type
|
|
160
|
-
template <typename T> static ConstructorStats& get() {
|
|
161
|
-
#if defined(PYPY_VERSION)
|
|
162
|
-
gc();
|
|
163
|
-
#endif
|
|
164
|
-
return get(typeid(T));
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// Gets constructor stats from a Python class
|
|
168
|
-
static ConstructorStats& get(py::object class_) {
|
|
169
|
-
auto &internals = py::detail::get_internals();
|
|
170
|
-
const std::type_index *t1 = nullptr, *t2 = nullptr;
|
|
171
|
-
try {
|
|
172
|
-
auto *type_info = internals.registered_types_py.at((PyTypeObject *) class_.ptr()).at(0);
|
|
173
|
-
for (auto &p : internals.registered_types_cpp) {
|
|
174
|
-
if (p.second == type_info) {
|
|
175
|
-
if (t1) {
|
|
176
|
-
t2 = &p.first;
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
t1 = &p.first;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
catch (const std::out_of_range&) {}
|
|
184
|
-
if (!t1) throw std::runtime_error("Unknown class passed to ConstructorStats::get()");
|
|
185
|
-
auto &cs1 = get(*t1);
|
|
186
|
-
// If we have both a t1 and t2 match, one is probably the trampoline class; return whichever
|
|
187
|
-
// has more constructions (typically one or the other will be 0)
|
|
188
|
-
if (t2) {
|
|
189
|
-
auto &cs2 = get(*t2);
|
|
190
|
-
int cs1_total = cs1.default_constructions + cs1.copy_constructions + cs1.move_constructions + (int) cs1._values.size();
|
|
191
|
-
int cs2_total = cs2.default_constructions + cs2.copy_constructions + cs2.move_constructions + (int) cs2._values.size();
|
|
192
|
-
if (cs2_total > cs1_total) return cs2;
|
|
193
|
-
}
|
|
194
|
-
return cs1;
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
// To track construction/destruction, you need to call these methods from the various
|
|
199
|
-
// constructors/operators. The ones that take extra values record the given values in the
|
|
200
|
-
// constructor stats values for later inspection.
|
|
201
|
-
template <class T> void track_copy_created(T *inst) { ConstructorStats::get<T>().copy_created(inst); }
|
|
202
|
-
template <class T> void track_move_created(T *inst) { ConstructorStats::get<T>().move_created(inst); }
|
|
203
|
-
template <class T, typename... Values> void track_copy_assigned(T *, Values &&...values) {
|
|
204
|
-
auto &cst = ConstructorStats::get<T>();
|
|
205
|
-
cst.copy_assignments++;
|
|
206
|
-
cst.value(std::forward<Values>(values)...);
|
|
207
|
-
}
|
|
208
|
-
template <class T, typename... Values> void track_move_assigned(T *, Values &&...values) {
|
|
209
|
-
auto &cst = ConstructorStats::get<T>();
|
|
210
|
-
cst.move_assignments++;
|
|
211
|
-
cst.value(std::forward<Values>(values)...);
|
|
212
|
-
}
|
|
213
|
-
template <class T, typename... Values> void track_default_created(T *inst, Values &&...values) {
|
|
214
|
-
auto &cst = ConstructorStats::get<T>();
|
|
215
|
-
cst.default_created(inst);
|
|
216
|
-
cst.value(std::forward<Values>(values)...);
|
|
217
|
-
}
|
|
218
|
-
template <class T, typename... Values> void track_created(T *inst, Values &&...values) {
|
|
219
|
-
auto &cst = ConstructorStats::get<T>();
|
|
220
|
-
cst.created(inst);
|
|
221
|
-
cst.value(std::forward<Values>(values)...);
|
|
222
|
-
}
|
|
223
|
-
template <class T, typename... Values> void track_destroyed(T *inst) {
|
|
224
|
-
ConstructorStats::get<T>().destroyed(inst);
|
|
225
|
-
}
|
|
226
|
-
template <class T, typename... Values> void track_values(T *, Values &&...values) {
|
|
227
|
-
ConstructorStats::get<T>().value(std::forward<Values>(values)...);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/// Don't cast pointers to Python, print them as strings
|
|
231
|
-
inline const char *format_ptrs(const char *p) { return p; }
|
|
232
|
-
template <typename T>
|
|
233
|
-
py::str format_ptrs(T *p) { return "{:#x}"_s.format(reinterpret_cast<std::uintptr_t>(p)); }
|
|
234
|
-
template <typename T>
|
|
235
|
-
auto format_ptrs(T &&x) -> decltype(std::forward<T>(x)) { return std::forward<T>(x); }
|
|
236
|
-
|
|
237
|
-
template <class T, typename... Output>
|
|
238
|
-
void print_constr_details(T *inst, const std::string &action, Output &&...output) {
|
|
239
|
-
py::print("###", py::type_id<T>(), "@", format_ptrs(inst), action,
|
|
240
|
-
format_ptrs(std::forward<Output>(output))...);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// Verbose versions of the above:
|
|
244
|
-
template <class T, typename... Values> void print_copy_created(T *inst, Values &&...values) { // NB: this prints, but doesn't store, given values
|
|
245
|
-
print_constr_details(inst, "created via copy constructor", values...);
|
|
246
|
-
track_copy_created(inst);
|
|
247
|
-
}
|
|
248
|
-
template <class T, typename... Values> void print_move_created(T *inst, Values &&...values) { // NB: this prints, but doesn't store, given values
|
|
249
|
-
print_constr_details(inst, "created via move constructor", values...);
|
|
250
|
-
track_move_created(inst);
|
|
251
|
-
}
|
|
252
|
-
template <class T, typename... Values> void print_copy_assigned(T *inst, Values &&...values) {
|
|
253
|
-
print_constr_details(inst, "assigned via copy assignment", values...);
|
|
254
|
-
track_copy_assigned(inst, values...);
|
|
255
|
-
}
|
|
256
|
-
template <class T, typename... Values> void print_move_assigned(T *inst, Values &&...values) {
|
|
257
|
-
print_constr_details(inst, "assigned via move assignment", values...);
|
|
258
|
-
track_move_assigned(inst, values...);
|
|
259
|
-
}
|
|
260
|
-
template <class T, typename... Values> void print_default_created(T *inst, Values &&...values) {
|
|
261
|
-
print_constr_details(inst, "created via default constructor", values...);
|
|
262
|
-
track_default_created(inst, values...);
|
|
263
|
-
}
|
|
264
|
-
template <class T, typename... Values> void print_created(T *inst, Values &&...values) {
|
|
265
|
-
print_constr_details(inst, "created", values...);
|
|
266
|
-
track_created(inst, values...);
|
|
267
|
-
}
|
|
268
|
-
template <class T, typename... Values> void print_destroyed(T *inst, Values &&...values) { // Prints but doesn't store given values
|
|
269
|
-
print_constr_details(inst, "destroyed", values...);
|
|
270
|
-
track_destroyed(inst);
|
|
271
|
-
}
|
|
272
|
-
template <class T, typename... Values> void print_values(T *inst, Values &&...values) {
|
|
273
|
-
print_constr_details(inst, ":", values...);
|
|
274
|
-
track_values(inst, values...);
|
|
275
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
tests/cross_module_gil_utils.cpp -- tools for acquiring GIL from a different module
|
|
3
|
-
|
|
4
|
-
Copyright (c) 2019 Google LLC
|
|
5
|
-
|
|
6
|
-
All rights reserved. Use of this source code is governed by a
|
|
7
|
-
BSD-style license that can be found in the LICENSE file.
|
|
8
|
-
*/
|
|
9
|
-
#include <pybind11/pybind11.h>
|
|
10
|
-
#include <cstdint>
|
|
11
|
-
|
|
12
|
-
// This file mimics a DSO that makes pybind11 calls but does not define a
|
|
13
|
-
// PYBIND11_MODULE. The purpose is to test that such a DSO can create a
|
|
14
|
-
// py::gil_scoped_acquire when the running thread is in a GIL-released state.
|
|
15
|
-
//
|
|
16
|
-
// Note that we define a Python module here for convenience, but in general
|
|
17
|
-
// this need not be the case. The typical scenario would be a DSO that implements
|
|
18
|
-
// shared logic used internally by multiple pybind11 modules.
|
|
19
|
-
|
|
20
|
-
namespace {
|
|
21
|
-
|
|
22
|
-
namespace py = pybind11;
|
|
23
|
-
void gil_acquire() { py::gil_scoped_acquire gil; }
|
|
24
|
-
|
|
25
|
-
constexpr char kModuleName[] = "cross_module_gil_utils";
|
|
26
|
-
|
|
27
|
-
#if PY_MAJOR_VERSION >= 3
|
|
28
|
-
struct PyModuleDef moduledef = {
|
|
29
|
-
PyModuleDef_HEAD_INIT,
|
|
30
|
-
kModuleName,
|
|
31
|
-
NULL,
|
|
32
|
-
0,
|
|
33
|
-
NULL,
|
|
34
|
-
NULL,
|
|
35
|
-
NULL,
|
|
36
|
-
NULL,
|
|
37
|
-
NULL
|
|
38
|
-
};
|
|
39
|
-
#else
|
|
40
|
-
PyMethodDef module_methods[] = {
|
|
41
|
-
{NULL, NULL, 0, NULL}
|
|
42
|
-
};
|
|
43
|
-
#endif
|
|
44
|
-
|
|
45
|
-
} // namespace
|
|
46
|
-
|
|
47
|
-
extern "C" PYBIND11_EXPORT
|
|
48
|
-
#if PY_MAJOR_VERSION >= 3
|
|
49
|
-
PyObject* PyInit_cross_module_gil_utils()
|
|
50
|
-
#else
|
|
51
|
-
void initcross_module_gil_utils()
|
|
52
|
-
#endif
|
|
53
|
-
{
|
|
54
|
-
|
|
55
|
-
PyObject* m =
|
|
56
|
-
#if PY_MAJOR_VERSION >= 3
|
|
57
|
-
PyModule_Create(&moduledef);
|
|
58
|
-
#else
|
|
59
|
-
Py_InitModule(kModuleName, module_methods);
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
|
-
if (m != NULL) {
|
|
63
|
-
static_assert(
|
|
64
|
-
sizeof(&gil_acquire) == sizeof(void*),
|
|
65
|
-
"Function pointer must have the same size as void*");
|
|
66
|
-
PyModule_AddObject(m, "gil_acquire_funcaddr",
|
|
67
|
-
PyLong_FromVoidPtr(reinterpret_cast<void*>(&gil_acquire)));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
#if PY_MAJOR_VERSION >= 3
|
|
71
|
-
return m;
|
|
72
|
-
#endif
|
|
73
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import platform
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
LINUX = sys.platform.startswith("linux")
|
|
8
|
-
MACOS = sys.platform.startswith("darwin")
|
|
9
|
-
WIN = sys.platform.startswith("win32") or sys.platform.startswith("cygwin")
|
|
10
|
-
|
|
11
|
-
CPYTHON = platform.python_implementation() == "CPython"
|
|
12
|
-
PYPY = platform.python_implementation() == "PyPy"
|
|
13
|
-
|
|
14
|
-
PY2 = sys.version_info.major == 2
|
|
15
|
-
|
|
16
|
-
PY = sys.version_info
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def deprecated_call():
|
|
20
|
-
"""
|
|
21
|
-
pytest.deprecated_call() seems broken in pytest<3.9.x; concretely, it
|
|
22
|
-
doesn't work on CPython 3.8.0 with pytest==3.3.2 on Ubuntu 18.04 (#2922).
|
|
23
|
-
|
|
24
|
-
This is a narrowed reimplementation of the following PR :(
|
|
25
|
-
https://github.com/pytest-dev/pytest/pull/4104
|
|
26
|
-
"""
|
|
27
|
-
# TODO: Remove this when testing requires pytest>=3.9.
|
|
28
|
-
pieces = pytest.__version__.split(".")
|
|
29
|
-
pytest_major_minor = (int(pieces[0]), int(pieces[1]))
|
|
30
|
-
if pytest_major_minor < (3, 9):
|
|
31
|
-
return pytest.warns((DeprecationWarning, PendingDeprecationWarning))
|
|
32
|
-
else:
|
|
33
|
-
return pytest.deprecated_call()
|
xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini
DELETED
|
File without changes
|
xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py
DELETED
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import contextlib
|
|
3
|
-
import os
|
|
4
|
-
import string
|
|
5
|
-
import subprocess
|
|
6
|
-
import sys
|
|
7
|
-
import tarfile
|
|
8
|
-
import zipfile
|
|
9
|
-
|
|
10
|
-
# These tests must be run explicitly
|
|
11
|
-
# They require CMake 3.15+ (--install)
|
|
12
|
-
|
|
13
|
-
DIR = os.path.abspath(os.path.dirname(__file__))
|
|
14
|
-
MAIN_DIR = os.path.dirname(os.path.dirname(DIR))
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
main_headers = {
|
|
18
|
-
"include/pybind11/attr.h",
|
|
19
|
-
"include/pybind11/buffer_info.h",
|
|
20
|
-
"include/pybind11/cast.h",
|
|
21
|
-
"include/pybind11/chrono.h",
|
|
22
|
-
"include/pybind11/common.h",
|
|
23
|
-
"include/pybind11/complex.h",
|
|
24
|
-
"include/pybind11/eigen.h",
|
|
25
|
-
"include/pybind11/embed.h",
|
|
26
|
-
"include/pybind11/eval.h",
|
|
27
|
-
"include/pybind11/functional.h",
|
|
28
|
-
"include/pybind11/gil.h",
|
|
29
|
-
"include/pybind11/iostream.h",
|
|
30
|
-
"include/pybind11/numpy.h",
|
|
31
|
-
"include/pybind11/operators.h",
|
|
32
|
-
"include/pybind11/options.h",
|
|
33
|
-
"include/pybind11/pybind11.h",
|
|
34
|
-
"include/pybind11/pytypes.h",
|
|
35
|
-
"include/pybind11/stl.h",
|
|
36
|
-
"include/pybind11/stl_bind.h",
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
detail_headers = {
|
|
40
|
-
"include/pybind11/detail/class.h",
|
|
41
|
-
"include/pybind11/detail/common.h",
|
|
42
|
-
"include/pybind11/detail/descr.h",
|
|
43
|
-
"include/pybind11/detail/init.h",
|
|
44
|
-
"include/pybind11/detail/internals.h",
|
|
45
|
-
"include/pybind11/detail/type_caster_base.h",
|
|
46
|
-
"include/pybind11/detail/typeid.h",
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
stl_headers = {
|
|
50
|
-
"include/pybind11/stl/filesystem.h",
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
cmake_files = {
|
|
54
|
-
"share/cmake/pybind11/FindPythonLibsNew.cmake",
|
|
55
|
-
"share/cmake/pybind11/pybind11Common.cmake",
|
|
56
|
-
"share/cmake/pybind11/pybind11Config.cmake",
|
|
57
|
-
"share/cmake/pybind11/pybind11ConfigVersion.cmake",
|
|
58
|
-
"share/cmake/pybind11/pybind11NewTools.cmake",
|
|
59
|
-
"share/cmake/pybind11/pybind11Targets.cmake",
|
|
60
|
-
"share/cmake/pybind11/pybind11Tools.cmake",
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
py_files = {
|
|
64
|
-
"__init__.py",
|
|
65
|
-
"__main__.py",
|
|
66
|
-
"_version.py",
|
|
67
|
-
"_version.pyi",
|
|
68
|
-
"commands.py",
|
|
69
|
-
"py.typed",
|
|
70
|
-
"setup_helpers.py",
|
|
71
|
-
"setup_helpers.pyi",
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
headers = main_headers | detail_headers | stl_headers
|
|
75
|
-
src_files = headers | cmake_files
|
|
76
|
-
all_files = src_files | py_files
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
sdist_files = {
|
|
80
|
-
"pybind11",
|
|
81
|
-
"pybind11/include",
|
|
82
|
-
"pybind11/include/pybind11",
|
|
83
|
-
"pybind11/include/pybind11/detail",
|
|
84
|
-
"pybind11/include/pybind11/stl",
|
|
85
|
-
"pybind11/share",
|
|
86
|
-
"pybind11/share/cmake",
|
|
87
|
-
"pybind11/share/cmake/pybind11",
|
|
88
|
-
"pyproject.toml",
|
|
89
|
-
"setup.cfg",
|
|
90
|
-
"setup.py",
|
|
91
|
-
"LICENSE",
|
|
92
|
-
"MANIFEST.in",
|
|
93
|
-
"README.rst",
|
|
94
|
-
"PKG-INFO",
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
local_sdist_files = {
|
|
98
|
-
".egg-info",
|
|
99
|
-
".egg-info/PKG-INFO",
|
|
100
|
-
".egg-info/SOURCES.txt",
|
|
101
|
-
".egg-info/dependency_links.txt",
|
|
102
|
-
".egg-info/not-zip-safe",
|
|
103
|
-
".egg-info/top_level.txt",
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
def test_build_sdist(monkeypatch, tmpdir):
|
|
108
|
-
|
|
109
|
-
monkeypatch.chdir(MAIN_DIR)
|
|
110
|
-
|
|
111
|
-
out = subprocess.check_output(
|
|
112
|
-
[
|
|
113
|
-
sys.executable,
|
|
114
|
-
"setup.py",
|
|
115
|
-
"sdist",
|
|
116
|
-
"--formats=tar",
|
|
117
|
-
"--dist-dir",
|
|
118
|
-
str(tmpdir),
|
|
119
|
-
]
|
|
120
|
-
)
|
|
121
|
-
if hasattr(out, "decode"):
|
|
122
|
-
out = out.decode()
|
|
123
|
-
|
|
124
|
-
(sdist,) = tmpdir.visit("*.tar")
|
|
125
|
-
|
|
126
|
-
with tarfile.open(str(sdist)) as tar:
|
|
127
|
-
start = tar.getnames()[0] + "/"
|
|
128
|
-
version = start[9:-1]
|
|
129
|
-
simpler = {n.split("/", 1)[-1] for n in tar.getnames()[1:]}
|
|
130
|
-
|
|
131
|
-
with contextlib.closing(
|
|
132
|
-
tar.extractfile(tar.getmember(start + "setup.py"))
|
|
133
|
-
) as f:
|
|
134
|
-
setup_py = f.read()
|
|
135
|
-
|
|
136
|
-
with contextlib.closing(
|
|
137
|
-
tar.extractfile(tar.getmember(start + "pyproject.toml"))
|
|
138
|
-
) as f:
|
|
139
|
-
pyproject_toml = f.read()
|
|
140
|
-
|
|
141
|
-
with contextlib.closing(
|
|
142
|
-
tar.extractfile(
|
|
143
|
-
tar.getmember(
|
|
144
|
-
start + "pybind11/share/cmake/pybind11/pybind11Config.cmake"
|
|
145
|
-
)
|
|
146
|
-
)
|
|
147
|
-
) as f:
|
|
148
|
-
contents = f.read().decode("utf8")
|
|
149
|
-
assert 'set(pybind11_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")' in contents
|
|
150
|
-
|
|
151
|
-
files = {"pybind11/{}".format(n) for n in all_files}
|
|
152
|
-
files |= sdist_files
|
|
153
|
-
files |= {"pybind11{}".format(n) for n in local_sdist_files}
|
|
154
|
-
files.add("pybind11.egg-info/entry_points.txt")
|
|
155
|
-
files.add("pybind11.egg-info/requires.txt")
|
|
156
|
-
assert simpler == files
|
|
157
|
-
|
|
158
|
-
with open(os.path.join(MAIN_DIR, "tools", "setup_main.py.in"), "rb") as f:
|
|
159
|
-
contents = (
|
|
160
|
-
string.Template(f.read().decode())
|
|
161
|
-
.substitute(version=version, extra_cmd="")
|
|
162
|
-
.encode()
|
|
163
|
-
)
|
|
164
|
-
assert setup_py == contents
|
|
165
|
-
|
|
166
|
-
with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
|
|
167
|
-
contents = f.read()
|
|
168
|
-
assert pyproject_toml == contents
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
def test_build_global_dist(monkeypatch, tmpdir):
|
|
172
|
-
|
|
173
|
-
monkeypatch.chdir(MAIN_DIR)
|
|
174
|
-
monkeypatch.setenv("PYBIND11_GLOBAL_SDIST", "1")
|
|
175
|
-
|
|
176
|
-
out = subprocess.check_output(
|
|
177
|
-
[
|
|
178
|
-
sys.executable,
|
|
179
|
-
"setup.py",
|
|
180
|
-
"sdist",
|
|
181
|
-
"--formats=tar",
|
|
182
|
-
"--dist-dir",
|
|
183
|
-
str(tmpdir),
|
|
184
|
-
]
|
|
185
|
-
)
|
|
186
|
-
if hasattr(out, "decode"):
|
|
187
|
-
out = out.decode()
|
|
188
|
-
|
|
189
|
-
(sdist,) = tmpdir.visit("*.tar")
|
|
190
|
-
|
|
191
|
-
with tarfile.open(str(sdist)) as tar:
|
|
192
|
-
start = tar.getnames()[0] + "/"
|
|
193
|
-
version = start[16:-1]
|
|
194
|
-
simpler = {n.split("/", 1)[-1] for n in tar.getnames()[1:]}
|
|
195
|
-
|
|
196
|
-
with contextlib.closing(
|
|
197
|
-
tar.extractfile(tar.getmember(start + "setup.py"))
|
|
198
|
-
) as f:
|
|
199
|
-
setup_py = f.read()
|
|
200
|
-
|
|
201
|
-
with contextlib.closing(
|
|
202
|
-
tar.extractfile(tar.getmember(start + "pyproject.toml"))
|
|
203
|
-
) as f:
|
|
204
|
-
pyproject_toml = f.read()
|
|
205
|
-
|
|
206
|
-
files = {"pybind11/{}".format(n) for n in all_files}
|
|
207
|
-
files |= sdist_files
|
|
208
|
-
files |= {"pybind11_global{}".format(n) for n in local_sdist_files}
|
|
209
|
-
assert simpler == files
|
|
210
|
-
|
|
211
|
-
with open(os.path.join(MAIN_DIR, "tools", "setup_global.py.in"), "rb") as f:
|
|
212
|
-
contents = (
|
|
213
|
-
string.Template(f.read().decode())
|
|
214
|
-
.substitute(version=version, extra_cmd="")
|
|
215
|
-
.encode()
|
|
216
|
-
)
|
|
217
|
-
assert setup_py == contents
|
|
218
|
-
|
|
219
|
-
with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
|
|
220
|
-
contents = f.read()
|
|
221
|
-
assert pyproject_toml == contents
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
def tests_build_wheel(monkeypatch, tmpdir):
|
|
225
|
-
monkeypatch.chdir(MAIN_DIR)
|
|
226
|
-
|
|
227
|
-
subprocess.check_output(
|
|
228
|
-
[sys.executable, "-m", "pip", "wheel", ".", "-w", str(tmpdir)]
|
|
229
|
-
)
|
|
230
|
-
|
|
231
|
-
(wheel,) = tmpdir.visit("*.whl")
|
|
232
|
-
|
|
233
|
-
files = {"pybind11/{}".format(n) for n in all_files}
|
|
234
|
-
files |= {
|
|
235
|
-
"dist-info/LICENSE",
|
|
236
|
-
"dist-info/METADATA",
|
|
237
|
-
"dist-info/RECORD",
|
|
238
|
-
"dist-info/WHEEL",
|
|
239
|
-
"dist-info/entry_points.txt",
|
|
240
|
-
"dist-info/top_level.txt",
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
with zipfile.ZipFile(str(wheel)) as z:
|
|
244
|
-
names = z.namelist()
|
|
245
|
-
|
|
246
|
-
trimmed = {n for n in names if "dist-info" not in n}
|
|
247
|
-
trimmed |= {
|
|
248
|
-
"dist-info/{}".format(n.split("/", 1)[-1]) for n in names if "dist-info" in n
|
|
249
|
-
}
|
|
250
|
-
assert files == trimmed
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
def tests_build_global_wheel(monkeypatch, tmpdir):
|
|
254
|
-
monkeypatch.chdir(MAIN_DIR)
|
|
255
|
-
monkeypatch.setenv("PYBIND11_GLOBAL_SDIST", "1")
|
|
256
|
-
|
|
257
|
-
subprocess.check_output(
|
|
258
|
-
[sys.executable, "-m", "pip", "wheel", ".", "-w", str(tmpdir)]
|
|
259
|
-
)
|
|
260
|
-
|
|
261
|
-
(wheel,) = tmpdir.visit("*.whl")
|
|
262
|
-
|
|
263
|
-
files = {"data/data/{}".format(n) for n in src_files}
|
|
264
|
-
files |= {"data/headers/{}".format(n[8:]) for n in headers}
|
|
265
|
-
files |= {
|
|
266
|
-
"dist-info/LICENSE",
|
|
267
|
-
"dist-info/METADATA",
|
|
268
|
-
"dist-info/WHEEL",
|
|
269
|
-
"dist-info/top_level.txt",
|
|
270
|
-
"dist-info/RECORD",
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
with zipfile.ZipFile(str(wheel)) as z:
|
|
274
|
-
names = z.namelist()
|
|
275
|
-
|
|
276
|
-
beginning = names[0].split("/", 1)[0].rsplit(".", 1)[0]
|
|
277
|
-
trimmed = {n[len(beginning) + 1 :] for n in names}
|
|
278
|
-
|
|
279
|
-
assert files == trimmed
|
|
File without changes
|