-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Deprecate setrounding #27166
Deprecate setrounding #27166
Conversation
Fixes #26935. This is the "minimal" change of deprecating Float32/Float64 support.
I'm not sure this is worth doing until we have a replacement. |
Except that it will be a breaking change, no? We don't want the existence of old, broken functionality to prevent us from introducing the new, correctly working functionality. |
I thought we were just going to remove |
@simonbyrne Please advise --- can we keep this for now and add a totally separate better mechanism later, or is it necessary to remove this first? |
I'm not sure what the ultimate solution will look like: my best guess is something based on Cassette, similar to the Int64 -> Int32 literal conversion pass. The main argument for removing it is that this design is fundamentally broken: basically it works for small toy examples, but if you try to use it with anything non-trivial the results aren't reliable. |
Ok; if you think it's unreliable enough that we're better off removing it then we can do that. |
Setting rounding modes for Float64 is now implemented through intrinsics in LLVM. https://reviews.llvm.org/D74729 I think it may be worth to bring back this change to Julia base; directed rounding are used in some verified linear algebra algorithms to take advantage of LAPACK matrix multiplication to compute rigorous enclosures. I wrote a small workaround package |
Fixes #26935.
This is the "minimal" change of deprecating Float32/Float64 support.