-
Notifications
You must be signed in to change notification settings - Fork 474
Remove legacy function LABAD #805
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
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #805 +/- ##
========================================
Coverage 0.00% 0.00%
========================================
Files 1908 1908
Lines 187104 186972 -132
========================================
+ Misses 187104 186972 -132
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
Great PR! Thanks a lot for working on that. I think we have at least 3 other people in favor of removing LABAD from LAPACK. Please, see #727. |
Hi, I am in favor of this PR, and in favor of removing LABAD out of the library. Julien. |
How about adding a (non-fatal !) build-time test just in case there is something more modern around than a late-1990s Cray with the same limitations ? |
Thanks @martin-frbg. I think I understand what you are saying but (1) I do not think LABAD translate to any modern architecture, and ever will, (2) it was a dirty fix back then, it is still a dirty fix and we should remove this, if we want to do this again, we should do something differently. The way I am reading LABAD is as follows. (1) We can only use half of the range of numbers with confidence on old Cray's machine. So we want to restrict the range on an old Cray's by doing something like: Lines 94 to 95 in cfaa5ae
(2) How do we know we are on an old Cray? They have a huge range of number, LARGE is greater than +10^2000, so we can know we are on an old Cray by checking LARGE: Line 93 in cfaa5ae
The whole thing feels bogus to me. This is nice historical piece of software but I think we can safely move on from this routine. Julien. |
LABAD is now fully removed from the numerical functions and tests; LABAD itself is no-op. I intentionally did not move LABAD to the deprecated folder. This is to avoid an undefined symbol if someone calls LABAD in a custom external legacy routine. Recall that the deprecated routines are not built by default. |
Thanks a lot @angsch. This is a long overdue PR and this is great to have this finally done. Thanks a lot. Leaving LABAD in SRC as a no-op is fine with me. I think it is fine to move it to DEPRECATED too but there is not rush in doing so. Maybe we should add in LABAD, in the section "Purpose", Deprecated: As of March 2023, this routine is a no-op and is not used in any LAPACK subroutines, (neither in SRC nor in TESTING,) this routine might be remove from the package in the near future. Something like that. |
Description
LABAD is a legacy function that used to make LAPACK usable on machines that did not comply with IEEE arithmetic. This PR removes the function calls to LABAD and turns LABAD itself into a no-op. See also #96.
If you agree that the removal (rather than turning the routine only into a no-op) is the right approach, I would go over the other routines (testing etc.), too.
Checklist