Skip to content
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

Reorganize lapack and add more routine types #556

Merged
merged 2 commits into from
Oct 24, 2024

Conversation

EricaCMitchell
Copy link
Collaborator

Description and Details

Adds the s, c, d, and z types of LAPACK routines to clapack_fortran.h

  • Some routines had a comment above them explaining what they did and others didn't. To be consistent, all routines that are similar have the d type subroutine and its purpose commented in.

lapack.cc seems to contain three different sections: 1) wrappers, 2) madness functions, and 3) template instantiations.

  • The wrappers have been reorganized to be in the order of clapack_fortran.h to make it more readable.
  • The wrappers themself have been renamed without the d type in the wrapper name to avoid confusion in the madness functions as to why the d subroutines are being used in functions that accept various tensor types.
  • The template instantiations have been reorganized so that those of the same madness function are next to each other that way you can read what types are available easier.
  • Most madness functions have been instantiated with double and double_complex. In particular, I needed a complex version of inverse.

Given that the templates have to be instantiated with modern C++ compilers, would it make sense to move the test parts in lapack.cc to its own file?

@evaleev evaleev merged commit b82d6c9 into m-a-d-n-e-s-s:master Oct 24, 2024
12 checks passed
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.

2 participants