-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ExprTk #2825
Update ExprTk #2825
Conversation
ArashPartow
commented
Nov 4, 2024
•
edited
Loading
edited
- Update ExprTk to 0.0.3 Release notes: https://www.partow.net/programming/exprtk/exprtk_release_notes_v0.0.3.txt
- Adaptor update
- Minor fixes and cleanups in exprtk, scalar, computed functions
a8d3a1c
to
0687b1d
Compare
@texodus Looks like a couple of adaptor methods and free functions need to be added to perspective::t_tscalar:
I'm ok with adding them, would you want it all in the same PR or two PRs, initially the additional adaptor methods and then this PR? |
One PR would be ideal. |
7658f2e
to
ccb4b1c
Compare
I'm not sure if you can see our CI logs externally, but this PR does not compile for different reasons on every architecture we support. I have not had time to test this on anything but my development machine yet, but I've rebased your PR and fixed the local compilation errors here, which you can cherry pick. |
d3ce42f
to
a2c2161
Compare
a2c2161
to
faba9b9
Compare
baebcb1
to
05e8878
Compare
Finally got all the tests passing. Minor issues with some of the test results revealed a parsing issue in ExprTk. That being said there is a change I couldn't resolve:
It seems the use of The main reason for this particular change was to properly seed the engine, as the way it is currently being setup is not correct. It will use an internal state based on whatever is in the memory contents of the allocation. Which could be random or all zeros etc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! Looks good!
@@ -702,7 +733,7 @@ namespace details { | |||
} | |||
|
|||
// degrees to gradians | |||
rval.set(v.to_double() * (20.0 / 9.0)); | |||
rval.set(v.to_double() * (10.0 / 9.0)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the ratio for converting between degrees to grad is 1.1111...
I checked the Perspective |
Yeah that's correct, the fixes in 0.0.3 tighten up a lot of the checks - including when e_commutative_check has been disabled. The way the parser is being configured (without e_commutative_check) currently in perspective is the best option, as the implied multiplication functionality can be surprising for people that don't come from a maple/mathematica et al. background. |
I am having some trouble merging this PR. First off, GitHub's merge UI seems to timeout trying to validate it, which I've never seen before - all acceptance checks are green, but it is stuck "Checking for ability to merge automatically…". So I tried to merge this locally and noticed my local Git client behaving strangely, e.g., there are only ~10 contemporary PRs in flight right now on the repo, but when adding yours as a remote | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 05e887855 (@ArashPatow/arashpartow/update_exprtk_0.0.3) Update ExprTk
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/
|/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a5c157ebf (@ArashPatow/arashpartow/update_exprtk_0.0.3_trials) Update ExprTk - Investigation
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/
|/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging this locally (and even removing your remote) retains the date-ordering bug. Rebasing your PR on master locally and merging does not, however. Your PR only diverges from Can you please try rebasing/cherry-picking or otherwise recreating this commit on the latest |
05e8878
to
d66f0c8
Compare
Signed-off-by: Arash Partow <partow@gmail.com>
d66f0c8
to
2340bdb
Compare
@texodus I've rebased my PR to: If it still doesn't merge cleanly and without errors, I'm happy for you to cherry-pick and PR it locally and merge 👍 |
That worked, thanks! |