pybrass 0.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.
- pybrass-0.0.0/.gitignore +84 -0
- pybrass-0.0.0/.gitmodules +3 -0
- pybrass-0.0.0/CMakeLists.txt +69 -0
- pybrass-0.0.0/LICENSE +21 -0
- pybrass-0.0.0/PKG-INFO +355 -0
- pybrass-0.0.0/README.md +320 -0
- pybrass-0.0.0/analyses/bulk.cc +133 -0
- pybrass-0.0.0/analyses/midrap.cc +84 -0
- pybrass-0.0.0/external/yaml-cpp/.bazelignore +1 -0
- pybrass-0.0.0/external/yaml-cpp/.clang-format +47 -0
- pybrass-0.0.0/external/yaml-cpp/.codedocs +50 -0
- pybrass-0.0.0/external/yaml-cpp/.git +1 -0
- pybrass-0.0.0/external/yaml-cpp/.github/dependabot.yml +11 -0
- pybrass-0.0.0/external/yaml-cpp/.github/workflows/build.yml +141 -0
- pybrass-0.0.0/external/yaml-cpp/.github/workflows/bzlmod-archive.yml +19 -0
- pybrass-0.0.0/external/yaml-cpp/.gitignore +3 -0
- pybrass-0.0.0/external/yaml-cpp/BUILD.bazel +21 -0
- pybrass-0.0.0/external/yaml-cpp/CMakeLists.txt +213 -0
- pybrass-0.0.0/external/yaml-cpp/CONTRIBUTING.md +26 -0
- pybrass-0.0.0/external/yaml-cpp/LICENSE +19 -0
- pybrass-0.0.0/external/yaml-cpp/MODULE.bazel +14 -0
- pybrass-0.0.0/external/yaml-cpp/MODULE.bazel.lock +114 -0
- pybrass-0.0.0/external/yaml-cpp/README.md +86 -0
- pybrass-0.0.0/external/yaml-cpp/SECURITY.md +13 -0
- pybrass-0.0.0/external/yaml-cpp/cmake_uninstall.cmake.in +21 -0
- pybrass-0.0.0/external/yaml-cpp/docs/Breaking-Changes.md +52 -0
- pybrass-0.0.0/external/yaml-cpp/docs/How-To-Emit-YAML.md +226 -0
- pybrass-0.0.0/external/yaml-cpp/docs/How-To-Parse-A-Document-(Old-API).md +265 -0
- pybrass-0.0.0/external/yaml-cpp/docs/Strings.md +18 -0
- pybrass-0.0.0/external/yaml-cpp/docs/Tutorial.md +201 -0
- pybrass-0.0.0/external/yaml-cpp/docs/_config.yml +1 -0
- pybrass-0.0.0/external/yaml-cpp/docs/index.md +1 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/anchor.h +17 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/binary.h +71 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/contrib/anchordict.h +40 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/contrib/graphbuilder.h +149 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/depthguard.h +77 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/dll.h +59 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitfromevents.h +58 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitter.h +295 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitterdef.h +16 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emittermanip.h +144 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitterstyle.h +17 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/eventhandler.h +45 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/exceptions.h +305 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/fptostring.h +15 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/mark.h +29 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/convert.h +472 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/impl.h +235 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/iterator.h +96 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/iterator_fwd.h +27 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/memory.h +47 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node.h +177 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_data.h +127 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_iterator.h +181 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_ref.h +98 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/emit.h +32 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/impl.h +387 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/iterator.h +34 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/node.h +148 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/parse.h +78 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/ptr.h +28 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/type.h +17 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/noexcept.h +18 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/null.h +26 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/ostream_wrapper.h +76 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/parser.h +90 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/stlemitter.h +50 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/traits.h +136 -0
- pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/yaml.h +24 -0
- pybrass-0.0.0/external/yaml-cpp/install.txt +24 -0
- pybrass-0.0.0/external/yaml-cpp/src/binary.cpp +100 -0
- pybrass-0.0.0/external/yaml-cpp/src/collectionstack.h +41 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/dragonbox.h +4196 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilder.cpp +16 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilderadapter.cpp +94 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilderadapter.h +86 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/yaml-cpp.natvis +32 -0
- pybrass-0.0.0/external/yaml-cpp/src/contrib/yaml-cpp.natvis.md +9 -0
- pybrass-0.0.0/external/yaml-cpp/src/convert.cpp +74 -0
- pybrass-0.0.0/external/yaml-cpp/src/depthguard.cpp +9 -0
- pybrass-0.0.0/external/yaml-cpp/src/directives.cpp +17 -0
- pybrass-0.0.0/external/yaml-cpp/src/directives.h +29 -0
- pybrass-0.0.0/external/yaml-cpp/src/emit.cpp +25 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitfromevents.cpp +129 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitter.cpp +977 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitterstate.cpp +400 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitterstate.h +216 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitterutils.cpp +499 -0
- pybrass-0.0.0/external/yaml-cpp/src/emitterutils.h +55 -0
- pybrass-0.0.0/external/yaml-cpp/src/exceptions.cpp +20 -0
- pybrass-0.0.0/external/yaml-cpp/src/exp.cpp +137 -0
- pybrass-0.0.0/external/yaml-cpp/src/exp.h +226 -0
- pybrass-0.0.0/external/yaml-cpp/src/fptostring.cpp +238 -0
- pybrass-0.0.0/external/yaml-cpp/src/indentation.h +40 -0
- pybrass-0.0.0/external/yaml-cpp/src/memory.cpp +26 -0
- pybrass-0.0.0/external/yaml-cpp/src/node.cpp +12 -0
- pybrass-0.0.0/external/yaml-cpp/src/node_data.cpp +325 -0
- pybrass-0.0.0/external/yaml-cpp/src/nodebuilder.cpp +134 -0
- pybrass-0.0.0/external/yaml-cpp/src/nodebuilder.h +74 -0
- pybrass-0.0.0/external/yaml-cpp/src/nodeevents.cpp +98 -0
- pybrass-0.0.0/external/yaml-cpp/src/nodeevents.h +68 -0
- pybrass-0.0.0/external/yaml-cpp/src/null.cpp +17 -0
- pybrass-0.0.0/external/yaml-cpp/src/ostream_wrapper.cpp +62 -0
- pybrass-0.0.0/external/yaml-cpp/src/parse.cpp +72 -0
- pybrass-0.0.0/external/yaml-cpp/src/parser.cpp +120 -0
- pybrass-0.0.0/external/yaml-cpp/src/ptr_vector.h +45 -0
- pybrass-0.0.0/external/yaml-cpp/src/regex_yaml.cpp +43 -0
- pybrass-0.0.0/external/yaml-cpp/src/regex_yaml.h +88 -0
- pybrass-0.0.0/external/yaml-cpp/src/regeximpl.h +189 -0
- pybrass-0.0.0/external/yaml-cpp/src/scanner.cpp +415 -0
- pybrass-0.0.0/external/yaml-cpp/src/scanner.h +189 -0
- pybrass-0.0.0/external/yaml-cpp/src/scanscalar.cpp +251 -0
- pybrass-0.0.0/external/yaml-cpp/src/scanscalar.h +63 -0
- pybrass-0.0.0/external/yaml-cpp/src/scantag.cpp +81 -0
- pybrass-0.0.0/external/yaml-cpp/src/scantag.h +19 -0
- pybrass-0.0.0/external/yaml-cpp/src/scantoken.cpp +444 -0
- pybrass-0.0.0/external/yaml-cpp/src/setting.h +100 -0
- pybrass-0.0.0/external/yaml-cpp/src/simplekey.cpp +132 -0
- pybrass-0.0.0/external/yaml-cpp/src/singledocparser.cpp +434 -0
- pybrass-0.0.0/external/yaml-cpp/src/singledocparser.h +71 -0
- pybrass-0.0.0/external/yaml-cpp/src/stream.cpp +463 -0
- pybrass-0.0.0/external/yaml-cpp/src/stream.h +83 -0
- pybrass-0.0.0/external/yaml-cpp/src/streamcharsource.h +50 -0
- pybrass-0.0.0/external/yaml-cpp/src/stringsource.h +48 -0
- pybrass-0.0.0/external/yaml-cpp/src/tag.cpp +50 -0
- pybrass-0.0.0/external/yaml-cpp/src/tag.h +33 -0
- pybrass-0.0.0/external/yaml-cpp/src/token.h +71 -0
- pybrass-0.0.0/external/yaml-cpp/test/BUILD.bazel +28 -0
- pybrass-0.0.0/external/yaml-cpp/test/CMakeLists.txt +63 -0
- pybrass-0.0.0/external/yaml-cpp/test/binary_test.cpp +14 -0
- pybrass-0.0.0/external/yaml-cpp/test/cmake/CMakeLists.txt +21 -0
- pybrass-0.0.0/external/yaml-cpp/test/cmake/main.cpp +3 -0
- pybrass-0.0.0/external/yaml-cpp/test/create-emitter-tests.py +223 -0
- pybrass-0.0.0/external/yaml-cpp/test/fptostring_test.cpp +242 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.clang-format +4 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/00-bug_report.yml +53 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/10-feature_request.yml +33 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/workflows/gtest-ci.yml +43 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.gitignore +84 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/BUILD.bazel +218 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CMakeLists.txt +39 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CONTRIBUTING.md +131 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CONTRIBUTORS +65 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/LICENSE +28 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/README.md +117 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/WORKSPACE +40 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/linux-presubmit.sh +134 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/macos-presubmit.sh +75 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/windows-presubmit.bat +56 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_config.yml +1 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_data/navigation.yml +43 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_layouts/default.html +58 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_sass/main.scss +200 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/advanced.md +2407 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/assets/css/style.scss +5 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/community_created_documentation.md +7 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/faq.md +692 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_cheat_sheet.md +241 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_cook_book.md +4343 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_faq.md +390 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_for_dummies.md +700 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/index.md +22 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/pkgconfig.md +148 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/platforms.md +35 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/primer.md +483 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/quickstart-bazel.md +146 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/quickstart-cmake.md +156 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/actions.md +115 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/assertions.md +633 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/matchers.md +290 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/mocking.md +589 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/testing.md +1431 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/samples.md +22 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/CMakeLists.txt +218 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/README.md +40 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/cmake/gmock.pc.in +10 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/cmake/gmock_main.pc.in +10 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/docs/README.md +4 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-actions.h +2302 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-cardinalities.h +159 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-function-mocker.h +517 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-matchers.h +5620 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-more-actions.h +662 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-more-matchers.h +122 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-nice-strict.h +277 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-spec-builders.h +2111 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock.h +96 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/README.md +18 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +7 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-matchers.h +37 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-port.h +40 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-internal-utils.h +490 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-port.h +139 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-pp.h +279 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-all.cc +46 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-cardinalities.cc +155 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-internal-utils.cc +251 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-matchers.cc +479 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-spec-builders.cc +795 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock.cc +223 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock_main.cc +72 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/BUILD.bazel +118 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-actions_test.cc +2167 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-cardinalities_test.cc +422 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-function-mocker_test.cc +1004 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-internal-utils_test.cc +765 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-arithmetic_test.cc +1517 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-comparisons_test.cc +2359 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-containers_test.cc +3129 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-misc_test.cc +1819 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers_test.h +192 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-more-actions_test.cc +1550 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-nice-strict_test.cc +541 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-port_test.cc +42 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-pp-string_test.cc +205 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-pp_test.cc +83 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-spec-builders_test.cc +2620 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_all_test.cc +49 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_ex_test.cc +78 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_leak_test.py +104 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_leak_test_.cc +99 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link2_test.cc +38 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link_test.cc +38 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link_test.h +689 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test.py +186 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test_.cc +291 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test_golden.txt +317 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_stress_test.cc +227 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_test.cc +179 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_test_utils.py +96 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/CMakeLists.txt +338 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/README.md +217 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/Config.cmake.in +9 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/gtest.pc.in +9 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/gtest_main.pc.in +10 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/internal_utils.cmake +356 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/libgtest.la.in +21 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/docs/README.md +4 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-assertion-result.h +237 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-death-test.h +345 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-matchers.h +956 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-message.h +220 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-param-test.h +545 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-printers.h +1131 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-spi.h +250 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-test-part.h +192 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-typed-test.h +331 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest.h +2318 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest_pred_impl.h +279 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest_prod.h +60 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/README.md +44 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest.h +37 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-death-test-internal.h +307 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-filepath.h +227 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-internal.h +1571 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-param-util.h +1031 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-port-arch.h +118 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-port.h +2460 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-string.h +178 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-type-util.h +190 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/prime_tables.h +124 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1.cc +66 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1.h +41 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample10_unittest.cc +139 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1_unittest.cc +148 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2.cc +54 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2.h +79 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2_unittest.cc +107 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample3-inl.h +171 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample3_unittest.cc +146 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4.cc +50 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4.h +53 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4_unittest.cc +53 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample5_unittest.cc +189 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample6_unittest.cc +214 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample7_unittest.cc +113 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample8_unittest.cc +152 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample9_unittest.cc +149 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-all.cc +49 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-assertion-result.cc +77 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-death-test.cc +1620 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-filepath.cc +410 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-internal-inl.h +1217 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-matchers.cc +98 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-port.cc +1394 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-printers.cc +553 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-test-part.cc +105 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-typed-test.cc +104 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest.cc +6844 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest_main.cc +65 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/BUILD.bazel +594 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-break-on-failure-unittest.py +208 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-break-on-failure-unittest_.cc +83 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-catch-exceptions-test.py +236 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-catch-exceptions-test_.cc +289 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-color-test.py +128 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-color-test_.cc +60 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-death-test-test.cc +1526 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-death-test_ex_test.cc +91 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-env-var-test.py +120 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-env-var-test_.cc +130 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-failfast-unittest.py +410 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-failfast-unittest_.cc +166 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filepath-test.cc +671 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filter-unittest.py +670 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filter-unittest_.cc +106 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-global-environment-unittest.py +130 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-global-environment-unittest_.cc +58 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-json-outfiles-test.py +195 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-json-output-unittest.py +912 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-list-tests-unittest.py +205 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-list-tests-unittest_.cc +140 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-listener-test.cc +514 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-message-test.cc +161 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-options-test.cc +222 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test-golden-lin.txt +1196 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test.py +346 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test_.cc +1053 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name1-test_.cc +46 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name2-test_.cc +50 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-test.cc +1173 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-test.h +49 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test2-test.cc +58 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-port-test.cc +1299 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-printers-test.cc +1987 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-setuptestsuite-test.py +54 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-setuptestsuite-test_.cc +44 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-shuffle-test.py +323 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-shuffle-test_.cc +100 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-test-part-test.cc +220 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-throw-on-failure-test.py +168 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-uninitialized-test.py +67 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-uninitialized-test_.cc +39 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test2_test.cc +39 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test_test.cc +423 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test_test.h +57 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-unittest-api_test.cc +328 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_all_test.cc +46 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_assert_by_exception_test.cc +112 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_dirs_test.cc +97 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_environment_test.cc +179 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_help_test.py +189 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_help_test_.cc +44 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_json_test_utils.py +62 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_list_output_unittest.py +286 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_list_output_unittest_.cc +77 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_main_unittest.cc +42 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_no_test_unittest.cc +54 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_pred_impl_unittest.cc +2070 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_premature_exit_test.cc +128 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_prod_test.cc +56 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_repeat_test.cc +222 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_check_output_test.py +59 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_in_environment_setup_test.cc +50 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_test.cc +51 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_sole_header_test.cc +54 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_stress_test.cc +242 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_test_utils.py +255 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_testbridge_test.py +63 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_testbridge_test_.cc +42 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_unittest.cc +7756 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfile2_test_.cc +45 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfiles_test.py +135 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_output_unittest.py +415 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_output_unittest_.cc +195 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_test_utils.py +201 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/production.cc +35 -0
- pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/production.h +55 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/BUILD.bazel +14 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/emitter_test.cpp +1784 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/encoding_test.cpp +182 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/error_messages_test.cpp +61 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/gen_emitter_test.cpp +9936 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/handler_spec_test.cpp +1686 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/handler_test.cpp +76 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/handler_test.h +32 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/load_node_test.cpp +451 -0
- pybrass-0.0.0/external/yaml-cpp/test/integration/node_spec_test.cpp +1136 -0
- pybrass-0.0.0/external/yaml-cpp/test/main.cpp +6 -0
- pybrass-0.0.0/external/yaml-cpp/test/mock_event_handler.h +30 -0
- pybrass-0.0.0/external/yaml-cpp/test/node/node_test.cpp +880 -0
- pybrass-0.0.0/external/yaml-cpp/test/ostream_wrapper_test.cpp +66 -0
- pybrass-0.0.0/external/yaml-cpp/test/parser_test.cpp +64 -0
- pybrass-0.0.0/external/yaml-cpp/test/regex_test.cpp +177 -0
- pybrass-0.0.0/external/yaml-cpp/test/specexamples.h +868 -0
- pybrass-0.0.0/external/yaml-cpp/util/CMakeLists.txt +32 -0
- pybrass-0.0.0/external/yaml-cpp/util/api.cpp +137 -0
- pybrass-0.0.0/external/yaml-cpp/util/parse.cpp +46 -0
- pybrass-0.0.0/external/yaml-cpp/util/read.cpp +103 -0
- pybrass-0.0.0/external/yaml-cpp/util/sandbox.cpp +36 -0
- pybrass-0.0.0/external/yaml-cpp/yaml-cpp-config.cmake.in +33 -0
- pybrass-0.0.0/external/yaml-cpp/yaml-cpp.pc.in +11 -0
- pybrass-0.0.0/include/analysis.h +63 -0
- pybrass-0.0.0/include/analysisregister.h +38 -0
- pybrass-0.0.0/include/binaryreader.h +275 -0
- pybrass-0.0.0/include/datatree.h +67 -0
- pybrass-0.0.0/include/histogram1d.h +114 -0
- pybrass-0.0.0/include/histogram2d.h +122 -0
- pybrass-0.0.0/include/mergekey.h +41 -0
- pybrass-0.0.0/pyproject.toml +46 -0
- pybrass-0.0.0/pythonlib/bindings.cc +149 -0
- pybrass-0.0.0/pythonlib/brass/__init__.py +5 -0
- pybrass-0.0.0/pythonlib/brass/cli/analyze_runs.py +146 -0
- pybrass-0.0.0/pythonlib/brass/scan/__init__.py +0 -0
- pybrass-0.0.0/pythonlib/brass/scan/commands.txt +16 -0
- pybrass-0.0.0/pythonlib/brass/scan/get_cmds.py +23 -0
- pybrass-0.0.0/pythonlib/brass/scan/scan.py +98 -0
- pybrass-0.0.0/pythonlib/brass/scan/template.py +33 -0
- pybrass-0.0.0/src/analysis.cc +104 -0
- pybrass-0.0.0/src/analysisregister.cc +25 -0
- pybrass-0.0.0/src/binaryreader.cc +126 -0
- pybrass-0.0.0/src/datatree.cc +173 -0
- pybrass-0.0.0/src/mergekey.cc +131 -0
- pybrass-0.0.0/tests/.pytest_cache/.gitignore +2 -0
- pybrass-0.0.0/tests/.pytest_cache/CACHEDIR.TAG +4 -0
- pybrass-0.0.0/tests/.pytest_cache/README.md +8 -0
- pybrass-0.0.0/tests/.pytest_cache/v/cache/lastfailed +5 -0
- pybrass-0.0.0/tests/.pytest_cache/v/cache/nodeids +8 -0
- pybrass-0.0.0/tests/.pytest_cache/v/cache/stepwise +1 -0
- pybrass-0.0.0/tests/__pycache__/test_Binary.cpython-312-pytest-8.4.2.pyc +0 -0
- pybrass-0.0.0/tests/binaryreader.cc +152 -0
- pybrass-0.0.0/tests/doctest.h +7134 -0
- pybrass-0.0.0/tests/main.cc +19 -0
- pybrass-0.0.0/tests/test_Binary.py +162 -0
pybrass-0.0.0/.gitignore
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# ------------------
|
|
2
|
+
# General
|
|
3
|
+
# ------------------
|
|
4
|
+
*.log
|
|
5
|
+
*.tmp
|
|
6
|
+
*.swp
|
|
7
|
+
*.DS_Store
|
|
8
|
+
*.ipynb_checkpoints/
|
|
9
|
+
__pycache__/
|
|
10
|
+
*.py[cod]
|
|
11
|
+
|
|
12
|
+
# ------------------
|
|
13
|
+
# Python
|
|
14
|
+
# ------------------
|
|
15
|
+
# Virtual environments
|
|
16
|
+
.venv/
|
|
17
|
+
venv/
|
|
18
|
+
ENV/
|
|
19
|
+
env/
|
|
20
|
+
.conda/
|
|
21
|
+
|
|
22
|
+
# Packaging
|
|
23
|
+
build/
|
|
24
|
+
dist/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.eggs/
|
|
27
|
+
pip-wheel-metadata/
|
|
28
|
+
|
|
29
|
+
# Jupyter
|
|
30
|
+
.ipynb_checkpoints/
|
|
31
|
+
|
|
32
|
+
# Coverage / testing
|
|
33
|
+
htmlcov/
|
|
34
|
+
.tox/
|
|
35
|
+
.nox/
|
|
36
|
+
.coverage
|
|
37
|
+
.coverage.*
|
|
38
|
+
.cache
|
|
39
|
+
.pytest_cache/
|
|
40
|
+
|
|
41
|
+
# ------------------
|
|
42
|
+
# C++
|
|
43
|
+
# ------------------
|
|
44
|
+
# Build artifacts
|
|
45
|
+
build/
|
|
46
|
+
cmake-build-*/
|
|
47
|
+
CMakeFiles/
|
|
48
|
+
CMakeCache.txt
|
|
49
|
+
Makefile
|
|
50
|
+
*.o
|
|
51
|
+
*.obj
|
|
52
|
+
*.so
|
|
53
|
+
*.a
|
|
54
|
+
*.out
|
|
55
|
+
*.exe
|
|
56
|
+
*.dll
|
|
57
|
+
*.lib
|
|
58
|
+
*.pdb
|
|
59
|
+
|
|
60
|
+
# Generated files
|
|
61
|
+
*.mod
|
|
62
|
+
*.pch
|
|
63
|
+
|
|
64
|
+
# IDE-specific
|
|
65
|
+
.vscode/
|
|
66
|
+
.idea/
|
|
67
|
+
*.user
|
|
68
|
+
*.suo
|
|
69
|
+
*.vcxproj*
|
|
70
|
+
*.xcodeproj/
|
|
71
|
+
*.swp
|
|
72
|
+
|
|
73
|
+
# ------------------
|
|
74
|
+
# Optional: data / experiments
|
|
75
|
+
# ------------------
|
|
76
|
+
*.dat
|
|
77
|
+
*.csv
|
|
78
|
+
*.tsv
|
|
79
|
+
*.yaml
|
|
80
|
+
*.yml
|
|
81
|
+
*.json
|
|
82
|
+
results/
|
|
83
|
+
plots/
|
|
84
|
+
tables/
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.14)
|
|
2
|
+
project(brass)
|
|
3
|
+
|
|
4
|
+
set(CMAKE_CXX_STANDARD 20)
|
|
5
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
6
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
7
|
+
|
|
8
|
+
include_directories(include)
|
|
9
|
+
|
|
10
|
+
# ---- Explicit source lists (no GLOBs) ----
|
|
11
|
+
set(SRC_FILES
|
|
12
|
+
src/analysis.cc
|
|
13
|
+
src/analysisregister.cc
|
|
14
|
+
src/binaryreader.cc
|
|
15
|
+
src/datatree.cc
|
|
16
|
+
src/mergekey.cc
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
set(ANALYSIS_FILES
|
|
20
|
+
analyses/bulk.cc
|
|
21
|
+
analyses/midrap.cc
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
# Third-party: yaml-cpp (vendored)
|
|
25
|
+
add_subdirectory(external/yaml-cpp)
|
|
26
|
+
|
|
27
|
+
option(BUILD_PYTHON "Build Python extension module" ON)
|
|
28
|
+
|
|
29
|
+
if(BUILD_PYTHON)
|
|
30
|
+
set(PYBIND11_FINDPYTHON ON)
|
|
31
|
+
find_package(pybind11 CONFIG REQUIRED)
|
|
32
|
+
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
|
|
33
|
+
|
|
34
|
+
pybind11_add_module(_brass
|
|
35
|
+
pythonlib/bindings.cc
|
|
36
|
+
${SRC_FILES}
|
|
37
|
+
${ANALYSIS_FILES}
|
|
38
|
+
)
|
|
39
|
+
target_include_directories(_brass PRIVATE include)
|
|
40
|
+
target_link_libraries(_brass PRIVATE yaml-cpp)
|
|
41
|
+
|
|
42
|
+
set_target_properties(_brass PROPERTIES
|
|
43
|
+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
|
|
44
|
+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
|
|
45
|
+
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
|
|
46
|
+
OUTPUT_NAME "_brass"
|
|
47
|
+
)
|
|
48
|
+
endif()
|
|
49
|
+
|
|
50
|
+
# ---- Tests ----
|
|
51
|
+
option(BUILD_TESTS "Build unit tests" OFF)
|
|
52
|
+
if(BUILD_TESTS)
|
|
53
|
+
enable_testing()
|
|
54
|
+
|
|
55
|
+
set(TEST_SOURCES
|
|
56
|
+
tests/main.cc
|
|
57
|
+
tests/binaryreader.cc
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
add_executable(unit_tests
|
|
61
|
+
${TEST_SOURCES}
|
|
62
|
+
${SRC_FILES}
|
|
63
|
+
${ANALYSIS_FILES}
|
|
64
|
+
)
|
|
65
|
+
target_include_directories(unit_tests PRIVATE tests include)
|
|
66
|
+
target_link_libraries(unit_tests PRIVATE yaml-cpp)
|
|
67
|
+
|
|
68
|
+
add_test(NAME unit_tests COMMAND unit_tests)
|
|
69
|
+
endif()
|
pybrass-0.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Carl B. Rosenkvist
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
pybrass-0.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: pybrass
|
|
3
|
+
Version: 0.0.0
|
|
4
|
+
Summary: Binary Reader and Analysis Suite Software
|
|
5
|
+
Author: Carl B. Rosenkvist
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2025 Carl B. Rosenkvist
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Classifier: Programming Language :: Python :: 3
|
|
29
|
+
Classifier: Programming Language :: C++
|
|
30
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
31
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
32
|
+
Classifier: Operating System :: MacOS
|
|
33
|
+
Requires-Python: >=3.8
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# BRASS (Binary Reader and Analysis Suite Software)
|
|
37
|
+
|
|
38
|
+
A simple and extensible C++/Python library for reading and analyzing binary particle output files.
|
|
39
|
+
|
|
40
|
+
## Features
|
|
41
|
+
- C++ header-based binary file reader for particle data
|
|
42
|
+
- Plugin-style extensible analysis system (via registry macros)
|
|
43
|
+
- Optional Python bindings via `pybind11`
|
|
44
|
+
- Histogramming utilities
|
|
45
|
+
- No external dependencies (except optionally `pybind11`)
|
|
46
|
+
- Devloped primarly for SMASH
|
|
47
|
+
## Build Instructions
|
|
48
|
+
In repository
|
|
49
|
+
```bash
|
|
50
|
+
pip install pythonlib
|
|
51
|
+
```
|
|
52
|
+
## Performance
|
|
53
|
+
|
|
54
|
+
<img width="1713" height="715" alt="image" src="https://github.com/user-attachments/assets/03b56538-1b2c-4bea-a3a9-8dd6922975de" />
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# brass-analyze
|
|
59
|
+
|
|
60
|
+
Command-line tool for running registered analyses on multiple SMASH run directories.
|
|
61
|
+
|
|
62
|
+
## Usage
|
|
63
|
+
|
|
64
|
+
brass-analyze [OPTIONS] OUTPUT_DIR ANALYSIS_NAME
|
|
65
|
+
|
|
66
|
+
- OUTPUT_DIR — top directory containing run subfolders (`out-*` by default)
|
|
67
|
+
- ANALYSIS_NAME — name of a registered analysis (see `--list-analyses`)
|
|
68
|
+
|
|
69
|
+
## Options
|
|
70
|
+
|
|
71
|
+
--list-analyses
|
|
72
|
+
List registered analyses and exit.
|
|
73
|
+
|
|
74
|
+
--pattern PATTERN
|
|
75
|
+
Glob for run folders (default: out-*).
|
|
76
|
+
|
|
77
|
+
--keys KEY1 KEY2 ...
|
|
78
|
+
Dotted keys from config for labeling runs (last segment used as name).
|
|
79
|
+
Example:
|
|
80
|
+
--keys Modi.Collider.Sqrtsnn General.Nevents
|
|
81
|
+
|
|
82
|
+
--results-subdir DIR
|
|
83
|
+
Subdirectory to store results (default: data).
|
|
84
|
+
|
|
85
|
+
--strict-quantities
|
|
86
|
+
Fail if Quantities differ across runs (default: warn and use first).
|
|
87
|
+
|
|
88
|
+
-v, --verbose
|
|
89
|
+
Print detailed information.
|
|
90
|
+
|
|
91
|
+
## Writing Analyses
|
|
92
|
+
|
|
93
|
+
You can create a custom analysis by subclassing `Analysis`:
|
|
94
|
+
|
|
95
|
+
```cpp
|
|
96
|
+
class MyAnalysis : public Analysis {
|
|
97
|
+
public:
|
|
98
|
+
void analyze_particle_block(const ParticleBlock& block, const Accessor& accessor) override {
|
|
99
|
+
// your logic here
|
|
100
|
+
}
|
|
101
|
+
void finalize() override {}
|
|
102
|
+
void save(const std::string& path) override {}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
REGISTER_ANALYSIS("my_analysis", MyAnalysis)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```cpp
|
|
109
|
+
#include "analysis.h"
|
|
110
|
+
#include "analysisregister.h"
|
|
111
|
+
#include "histogram2d.h"
|
|
112
|
+
#include <cmath>
|
|
113
|
+
#include <vector>
|
|
114
|
+
#include <fstream>
|
|
115
|
+
#include <unordered_map>
|
|
116
|
+
#include <string>
|
|
117
|
+
|
|
118
|
+
class BulkObservables : public Analysis {
|
|
119
|
+
public:
|
|
120
|
+
BulkObservables()
|
|
121
|
+
: y_min(-4.0), y_max(4.0), y_bins(30),
|
|
122
|
+
pt_min(0.0), pt_max(3.0), pt_bins(30),
|
|
123
|
+
d2N_dpT_dy(pt_min, pt_max, pt_bins,
|
|
124
|
+
y_min, y_max, y_bins),
|
|
125
|
+
n_events(0) {}
|
|
126
|
+
|
|
127
|
+
Analysis& operator+=(const Analysis& other) override {
|
|
128
|
+
auto const* o = dynamic_cast<const BulkObservables*>(&other);
|
|
129
|
+
if (!o) throw std::runtime_error("merge mismatch");
|
|
130
|
+
|
|
131
|
+
d2N_dpT_dy += o->d2N_dpT_dy;
|
|
132
|
+
n_events += o->n_events;
|
|
133
|
+
|
|
134
|
+
for (auto const& [pdg, src] : o->per_pdg_) {
|
|
135
|
+
auto& dst = obs_for(pdg);
|
|
136
|
+
dst.d2N_dpT_dy += src.d2N_dpT_dy;
|
|
137
|
+
}
|
|
138
|
+
return *this;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
void analyze_particle_block(const ParticleBlock& b, const Accessor& a) override {
|
|
142
|
+
// event selection: needs at least one wounded nucleon
|
|
143
|
+
bool has_wounded = false;
|
|
144
|
+
for (size_t i = 0; i < b.npart; ++i) {
|
|
145
|
+
int pdg = a.get_int("pdg", b, i);
|
|
146
|
+
if ((pdg == 2212 || pdg == 2112) && a.get_int("ncoll", b, i) > 0) {
|
|
147
|
+
has_wounded = true;
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (!has_wounded) return;
|
|
152
|
+
++n_events;
|
|
153
|
+
|
|
154
|
+
// fill spectra
|
|
155
|
+
for (size_t i = 0; i < b.npart; ++i) {
|
|
156
|
+
const int pdg = a.get_int("pdg", b, i);
|
|
157
|
+
const double E = a.get_double("p0", b, i);
|
|
158
|
+
const double pz = a.get_double("pz", b, i);
|
|
159
|
+
const double px = a.get_double("px", b, i);
|
|
160
|
+
const double py = a.get_double("py", b, i);
|
|
161
|
+
|
|
162
|
+
if (E <= std::abs(pz)) continue;
|
|
163
|
+
const double y = 0.5 * std::log((E + pz) / (E - pz));
|
|
164
|
+
const double pt = std::hypot(px, py);
|
|
165
|
+
|
|
166
|
+
d2N_dpT_dy.fill(pt, y);
|
|
167
|
+
|
|
168
|
+
auto& obs = obs_for(pdg);
|
|
169
|
+
obs.d2N_dpT_dy.fill(pt, y);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
void finalize() override {
|
|
174
|
+
if (n_events > 0) {
|
|
175
|
+
d2N_dpT_dy.scale(1.0 / n_events);
|
|
176
|
+
for (auto& [_, o] : per_pdg_) {
|
|
177
|
+
o.d2N_dpT_dy.scale(1.0 / n_events);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
void save(const std::string& dir) override {
|
|
183
|
+
YAML::Emitter out;
|
|
184
|
+
out << YAML::BeginMap;
|
|
185
|
+
|
|
186
|
+
out << YAML::Key << "merge_key" << YAML::Value; to_yaml(out, keys);
|
|
187
|
+
out << YAML::Key << "smash_version" << YAML::Value << YAML::DoubleQuoted << smash_version;
|
|
188
|
+
out << YAML::Key << "n_events" << YAML::Value << n_events;
|
|
189
|
+
|
|
190
|
+
// totals
|
|
191
|
+
out << YAML::Key << "d2N_dpT_dy" << YAML::Value;
|
|
192
|
+
to_yaml(out, "pt", "y", d2N_dpT_dy);
|
|
193
|
+
|
|
194
|
+
// per-PDG spectra
|
|
195
|
+
out << YAML::Key << "spectra" << YAML::Value << YAML::BeginMap;
|
|
196
|
+
for (auto const& [pdg, o] : per_pdg_) {
|
|
197
|
+
out << YAML::Key << std::to_string(pdg) << YAML::Value;
|
|
198
|
+
to_yaml(out, "pt", "y", o.d2N_dpT_dy);
|
|
199
|
+
}
|
|
200
|
+
out << YAML::EndMap;
|
|
201
|
+
|
|
202
|
+
out << YAML::EndMap;
|
|
203
|
+
|
|
204
|
+
std::ofstream f(dir + "/bulk.yaml");
|
|
205
|
+
f << out.c_str();
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
private:
|
|
209
|
+
struct Obs {
|
|
210
|
+
Histogram2D d2N_dpT_dy;
|
|
211
|
+
Obs(double pt_min, double pt_max, size_t pt_bins,
|
|
212
|
+
double y_min, double y_max, size_t y_bins)
|
|
213
|
+
: d2N_dpT_dy(pt_min, pt_max, pt_bins,
|
|
214
|
+
y_min, y_max, y_bins) {}
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
Obs& obs_for(int pdg) {
|
|
218
|
+
auto [it, inserted] = per_pdg_.try_emplace(
|
|
219
|
+
pdg, pt_min, pt_max, pt_bins, y_min, y_max, y_bins);
|
|
220
|
+
return it->second;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
double y_min, y_max, pt_min, pt_max;
|
|
224
|
+
size_t y_bins, pt_bins;
|
|
225
|
+
Histogram2D d2N_dpT_dy;
|
|
226
|
+
int n_events;
|
|
227
|
+
|
|
228
|
+
std::unordered_map<int, Obs> per_pdg_;
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
REGISTER_ANALYSIS("BulkObservables", BulkObservables);
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
## How Analyses Work
|
|
235
|
+
|
|
236
|
+
Each analysis plugin in BRASS subclasses the `Analysis` interface and is responsible for processing particle blocks and storing results.
|
|
237
|
+
|
|
238
|
+
### Merging by Metadata
|
|
239
|
+
|
|
240
|
+
When you run over multiple binary files, BRASS uses user-supplied metadata (like `sqrt_s`, `projectile`, `target`) to associate results with a **merge key**.
|
|
241
|
+
You define metadata like this:
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
### YAML Output
|
|
245
|
+
|
|
246
|
+
Each analysis writes a human-readable YAML file named after the analysis, e.g., `simple.yaml`, which contains:
|
|
247
|
+
- The `smash_version`
|
|
248
|
+
- The `merge_keys`
|
|
249
|
+
- The `data` block with all computed quantities
|
|
250
|
+
|
|
251
|
+
Example output:
|
|
252
|
+
```yaml
|
|
253
|
+
merge_key:
|
|
254
|
+
sqrts: 17.3
|
|
255
|
+
system: "PbPb"
|
|
256
|
+
smash_version: "SMASH-3.2-38-g5c9a7cbef"
|
|
257
|
+
n_events: 40
|
|
258
|
+
d2N_dpT_dy:
|
|
259
|
+
pt_range: [0, 3]
|
|
260
|
+
y_range: [-4, 4]
|
|
261
|
+
pt_bins: 30
|
|
262
|
+
y_bins: 30
|
|
263
|
+
counts: ...
|
|
264
|
+
```
|
|
265
|
+
## Python usage
|
|
266
|
+
```py
|
|
267
|
+
from brass import BinaryReader, CollectorAccessor
|
|
268
|
+
import numpy as np
|
|
269
|
+
accessor = CollectorAccessor()
|
|
270
|
+
reader = BinaryReader("particles_binary.bin", ["pdg", "pz", "p0"], accessor)
|
|
271
|
+
reader.read()
|
|
272
|
+
|
|
273
|
+
pz = accessor.get_double_array("pz")
|
|
274
|
+
e = accessor.get_double_array("p0")
|
|
275
|
+
pdg = accessor.get_int_array("pdg")
|
|
276
|
+
|
|
277
|
+
y = 0.5 * np.log((e + pz) / (e - pz))
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Run analyses through Python
|
|
281
|
+
```py
|
|
282
|
+
|
|
283
|
+
import os
|
|
284
|
+
import yaml
|
|
285
|
+
import brass as br
|
|
286
|
+
|
|
287
|
+
# --- point these to a few run directories you want to analyze ---
|
|
288
|
+
RUN_DIRS = [
|
|
289
|
+
"runs/out-001",
|
|
290
|
+
"runs/out-002",
|
|
291
|
+
]
|
|
292
|
+
|
|
293
|
+
def load_meta(yaml_path):
|
|
294
|
+
with open(yaml_path, "r") as f:
|
|
295
|
+
cfg = yaml.safe_load(f) or {}
|
|
296
|
+
|
|
297
|
+
coll = (cfg.get("Modi", {}) or {}).get("Collider", {}) or {}
|
|
298
|
+
proj = (coll.get("Projectile", {}) or {}).get("Particles", {}) or {}
|
|
299
|
+
targ = (coll.get("Target", {}) or {}).get("Particles", {}) or {}
|
|
300
|
+
|
|
301
|
+
Zp, Np = int(proj.get(2212, 0)), int(proj.get(2112, 0))
|
|
302
|
+
Zt, Nt = int(targ.get(2212, 0)), int(targ.get(2112, 0))
|
|
303
|
+
|
|
304
|
+
def sym(Z, N):
|
|
305
|
+
# Just a couple of common cases; falls back to A=Z+N
|
|
306
|
+
if (Z, N) == (82, 126): return "Pb"
|
|
307
|
+
if (Z, N) == (1, 0): return "p"
|
|
308
|
+
return f"A{Z+N}"
|
|
309
|
+
|
|
310
|
+
system = f"{sym(Zt, Nt)}{sym(Zp, Np)}"
|
|
311
|
+
sqrts = coll.get("Sqrtsnn", "unknown")
|
|
312
|
+
return f"system={system},sqrts={sqrts}"
|
|
313
|
+
|
|
314
|
+
def main():
|
|
315
|
+
file_and_meta = []
|
|
316
|
+
used_quantities = None
|
|
317
|
+
|
|
318
|
+
for d in RUN_DIRS:
|
|
319
|
+
bin_path = os.path.join(d, "particles_binary.bin")
|
|
320
|
+
yaml_path = os.path.join(d, "config.yaml")
|
|
321
|
+
if not (os.path.isfile(bin_path) and os.path.isfile(yaml_path)):
|
|
322
|
+
print(f"[skip] Missing files in {d}")
|
|
323
|
+
continue
|
|
324
|
+
|
|
325
|
+
# Optional: read quantities once (if present). Otherwise, use [].
|
|
326
|
+
with open(yaml_path, "r") as f:
|
|
327
|
+
cfg = yaml.safe_load(f) or {}
|
|
328
|
+
q = (((cfg.get("Output", {}) or {}).get("Particles", {}) or {})
|
|
329
|
+
.get("Quantities", []) or [])
|
|
330
|
+
q = [str(x) for x in q]
|
|
331
|
+
|
|
332
|
+
if used_quantities is None:
|
|
333
|
+
used_quantities = q
|
|
334
|
+
elif used_quantities != q:
|
|
335
|
+
print(f"[warn] Quantities differ in {yaml_path}; using the first set.")
|
|
336
|
+
|
|
337
|
+
meta = load_meta(yaml_path)
|
|
338
|
+
file_and_meta.append((bin_path, meta))
|
|
339
|
+
|
|
340
|
+
if not file_and_meta:
|
|
341
|
+
raise SystemExit("No valid runs found.")
|
|
342
|
+
|
|
343
|
+
br.run_analysis(
|
|
344
|
+
file_and_meta=file_and_meta, # [(path_to_bin, "meta=..."), ...]
|
|
345
|
+
analysis_name="my_analysis", # label for outputs
|
|
346
|
+
quantities=used_quantities or [],# [] if you don't care / not in YAML
|
|
347
|
+
save_output=True,
|
|
348
|
+
print_output=False,
|
|
349
|
+
output_folder="results" # will be created if missing
|
|
350
|
+
)
|
|
351
|
+
print("[done] brass analysis finished -> results/")
|
|
352
|
+
|
|
353
|
+
if __name__ == "__main__":
|
|
354
|
+
main()
|
|
355
|
+
```
|