Skip to content

Remove auxiliary GEQRS, GELQS #900

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

Merged
merged 1 commit into from
Aug 29, 2023
Merged

Conversation

angsch
Copy link
Collaborator

@angsch angsch commented Aug 27, 2023

GEQRS and GELQS were likely computational routines once, (they have an input argument check, which auxiliary/test routines typically do not have) but have been superseded by GELS a long time ago. The only remaining occurrences are in the tests CHKQR and CHKLQ, where they are auxiliary routines to widen the test coverage.

  • Replace GEQRS and GELQS by calls to GELS in tests.
  • Remove the functions from the error exit tests.
  • Delete GEQRS and GELQS.

This closes #709

An alternative to deleting the routines is to move them to SRC/DEPRECATED/. Any opinions?

@codecov
Copy link

codecov bot commented Aug 27, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (2983298) 0.00% compared to head (a9b40bc) 0.00%.
Report is 2 commits behind head on master.

❗ Current head a9b40bc differs from pull request most recent head 0d1e3ec. Consider uploading reports for the commit 0d1e3ec to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #900   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1918     1918           
  Lines      188614   188614           
=======================================
  Misses     188614   188614           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@martin-frbg
Copy link
Collaborator

My preference would be to move them to DEPRECATED - they must have been in LAPACK for decades and one never knows what old but perfectly working code out there would be broken by their removal.

@langou
Copy link
Contributor

langou commented Aug 27, 2023

Thanks Angelika.

WRT: remove or move to DEPRECATED. I am fine either way. Either () we remove or () we move to DEPRECATED. I have a slight preference for 'remove'. I agree with Martin that it is likely that some codes out there use GEQRS or GELQS. However 'removing' or 'moving to DEPRECATED' will imply an error at build time for these codes either way. The idea of DEPRECATED was that it would be easier for folks to find the routines that we removed from LAPACK. But I think that, with the usage of GitHub, we do not really need DEPRECATED any longer. It should be feasible for folks to find these routines in the git repository of GitHub by searching the history of the code.

langou
langou previously approved these changes Aug 27, 2023
@martin-frbg
Copy link
Collaborator

DEPRECATED was that it would be easier for folks to find the routines that we removed from LAPACK. But I think that, with the usage of GitHub, we do not really need DEPRECATED any longer. It should be feasible for folks to find these routines in the git repository of GitHub by searching the history of the code.

That viewpoint is certainly fine when assuming that the end user builds everything from source and will be only slightly inconvenienced by a build-breaking change. But I assume it will be a bigger problem for binary distributions (or their users), which most likely define BUILD_DEPRECATED already for maximum compatibility and would need to patch the deleted routines back in .

@langou
Copy link
Contributor

langou commented Aug 28, 2023

That's a good point. I missed this point. Very well then. This makes me change my opinion.

Based on Martin's rationale, I changed my opinion and I think it is better to move the routine to DEPRECATED as opposed to remove them.

GEQRS and GELQS were likely computational routines once,
(they have an input argument check, which auxiliary/test
routines typically do not have) but have been superseded by
GELS a long time ago. The only remaining occurrences
are in the tests CHKQR and CHKLQ, where they are auxiliary
routines to widen the test coverage.

* Replace GEQRS and GELQS by calls to GELS in tests
* Remove the functions from the error exit tests
* Move GEQRS and GELQS to the deprecated routines

Closes Reference-LAPACK#709
@langou langou merged commit 8da11d1 into Reference-LAPACK:master Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GELQS, GEQRS outdated
3 participants