-
Notifications
You must be signed in to change notification settings - Fork 3
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
Renaming (cont.) #16
Renaming (cont.) #16
Conversation
Regarding the example in #14, i get julia> Affine(-1..1) + Affine(2020.0) + (Affine(1e23) - Affine(1e23))
affine=⟨2020.0; [1.0]; [0, 0]⟩; range=[2019, 2021]
julia> Affine(-1..1) + Affine(2020.0) + Affine(1e23) - Affine(1e23)
affine=⟨0.0; [1.0]; [0, 0]⟩; range=[0, 1] Not sure why.. |
Thanks a lot for doing this @mforets! The reason it's still failing is that even with the changes in this PR, the method is still not actually rigorously bounding all errors. Basically we need to go through and make everything into an interval internally to do this. In this example we are still seeing the usual problems with floating-point numbers that differ by too many orders of magnitude. |
I think we should just go ahead and merge this. Do you agree @mforets? If so, please feel free! |
Got it. I agree to do this in a follow up PR; this one already contains many changes :)
I don't have rights to merge, but i agree! |
Thanks! |
This is a continuation of #12, with the necessary changes such that the tests pass. In particular,
range(::AffineArithmetic)
(which arguably can be used instead ofinterval
, or the other way round),eltype
,zero
andone
for elements of typeAffine
.Also, I saw that some of the range bounds improved, see the tests "Small powers and range".