chore(bngsim_expr): refresh vendored expression evaluator to PyBNF-Private 1a1d49da - #18
Merged
Merged
Conversation
…ivate 1a1d49da Refresh the standalone vendored BNGsim expression layer from PyBNF-Private `feature/bngsim` 330cfcc -> 1a1d49da, unblocking the bngsim-side vendor_rulemonkey.py drift guard (RuleMonkey #16 / v3.3.0 vendoring). Upstream changes since 330cfcc (#15): - c7e1ee88 ExprTk reserved-symbol parity (#64 follow-up) - 62a58c66 SBML ExprTk identifier collisions, u_h constant (gh90) - 4de69ef7 converge embedded NFsim ExprTk layer to a single source (#49) Changes: - Update third_party/bngsim_expr/src/expression.cpp. The mratio / remap_name / is_exprtk_reserved / compute_registration_name helpers move from file-static into the bngsim::expr_compat namespace. - Add third_party/bngsim_expr/include/bngsim/expr_compat.hpp (new from #49) declaring those free functions. Self-contained (<string> only); lands on the existing bngsim_expr/include path, so no CMake change. - Track expr_compat.hpp in scripts/vendor_exprtk.py FILES so future refreshes and --check guard it; make the refresh count message derive from len(FILES). Also modernize the run() helper to capture_output=True to satisfy ruff UP022. - Bump the VENDOR / VENDOR.json pin 330cfcc -> 1a1d49da. expression.hpp and exprtk.hpp are byte-identical to upstream HEAD (unchanged). Standalone build + ctest (24/24) green; vendor_exprtk.py --check reports no drift against the pinned commit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #17.
Refreshes the standalone vendored BNGsim expression layer from PyBNF-Private
feature/bngsim330cfcc→1a1d49da, unblocking bngsim'svendor_rulemonkey.pydrift guard so #16 (v3.3.0) can be vendored.Upstream changes pulled in (since
330cfcc, #15)c7e1ee88— ExprTk reserved-symbol parity (#64 follow-up)62a58c66— SBML ExprTk identifier collisions,u_hconstant (gh90)4de69ef7— converge embedded NFsim ExprTk layer to a single source (GH #49)Changes
third_party/bngsim_expr/src/expression.cpp— themratio/remap_name/is_exprtk_reserved/compute_registration_namehelpers move from file-static into thebngsim::expr_compatnamespace (GH #49).third_party/bngsim_expr/include/bngsim/expr_compat.hpp— new header from GH #49 declaring those free functions. Self-contained (<string>only); lands on the existingbngsim_expr/includepath, so no CMake change is needed.expr_compat.hppinscripts/vendor_exprtk.py'sFILESso future refreshes and--checkguard it (and the refresh-count message now derives fromlen(FILES)). Also modernized therun()helper tocapture_output=Trueto satisfy the repo's ruffUP022gate.VENDOR/VENDOR.jsonpin330cfcc→1a1d49da.expression.hppandexprtk.hppare byte-identical to upstream HEAD (unchanged).Verification
scripts/vendor_exprtk.py --bngsim-repo … --check→ OK, no drift against the pinned commit (all 4 vendored files byte-match1a1d49da).cmake --build --preset releasecompilesrm_bngsim_expr(vendoredexpression.cpp+ new header) cleanly.ctest --preset release→ 24/24 passed.