-
Notifications
You must be signed in to change notification settings - Fork 2
Support negative summands #436
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
Conversation
|
Another comment - I've been trying to validate this using For example: an epsilon-ish difference causes another AID-instance to be chosen for flattening and the results are off by a lot. |
|
Since both systems use the same floating point architecture results should match in theory. Could the cause instead be a different ordering of the operations or of the data between them? |
I can give an detailed rundown in some other thread, but there are a couple of ways the calculations diverge - all of them related to floating point:
|
eaf9ae3 to
ea9e39d
Compare
ea9e39d to
6cf58cc
Compare
I somehow managed to miss this altogether in here, probably left for "later" and shifted focus.
This comes in with a bit of an ugly moment when accumulating per-AID-instance results and calculating the
not_enough_aid_valuescondition. Since this is the only condition calculated jointly for both legs (positive and negative), it goes against the result accumulator structure we are trying to reuse. I'm still hesitant if this is clean enough to be kept or should we embark on some larger refactoring of the aggregation code.