BallisticLA/RandLAPACK

actually use our wrappers of BLAS and LAPACK enumerations

Closed this issue · 3 comments

We have a file rl_lapackpp.hh with statements like

using Job = lapack::Job;
using MatrixType = lapack::MatrixType;
using Norm = lapack::Norm;

These statements mean that we don't need to qualify with lapackpp:: before Job, MatrixType, and Norm; they should work out of the box provided we access LAPACK++ through the intended include mechanism (#include "rl_lapackpp.hh").

We have a similar file called rl_blaspp.hh for BLAS.

We rarely take advantage of this opportunity for more concise code. We should have a dedicated PR that addresses this and removes unnecessary blas:: and lapack:: qualifications.

I think i started adding that after Burlen's suggestion on using fully-qualified names (but that probably only goes for C++ std library objects).
We sould still not get rid of all lapack:: / blas::, because the user may not always know which specific library a certain function comes from.

I think we should keep lapack:: and blas:: for functions but not for enumerations. Using std:: for things in the standard library is also covered by this convention (I don't think we use the standard library for any predefined enumerations).

Yes, agreed. Sounds good.