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
lapack: move lapack/native => lapack #26
Conversation
The The other suggestion is that maybe |
This is true, but I was considering more the increase in unwieldiness of lapack rather than of lapack/native. Even in the netlib packages we manage to hide the horror of the complete interface from the user by separating it out into lapacke. The idea of moving I think I'm falling on the side that the native packages should not be moved, though maybe renamed. This has the problem that in both case we end up with imports like "gonum.org/v1/gonum/pkg/pkg". Maybe this is the least worst. Another alternative is to rename all so that we end up with e.g. "gonum.org/v1/gonum/lapack/native" and "gonum.org/v1/netlib/lapack/netlib" which then give us uses like |
Sorry for the delay. I've been busy with visitors and also trying to think of the best course of action. The netlib/gonum This issue is tricky. It seems like there are two fundamental problems. The first is circular imports, because we can't define the types in the same place as the wrapper function. The second is name clashes between Blas and Lapack. We could solve the first problem with aliases. Define all of the types in I thought we could maybe combine BLAS and Lapack into one package, but I don't think this can work. Lapack uses the BLAS implementation, which I think is an important property, and I don't see how we can usefully maintain that property while combining the packages. Still, it seems like a place to start is to move the interface definitions and high-level wrapper functions into |
I don't want to use aliases here. I don't think they are necessary.
I don't understand. Can you spell this out to me - I don't think splitting things up further is likely to be helpful. To be honest, I like the structure as it exists, it's just the naming that causes concern. As far as name clashes go with would see the following in use if both blas and lapack were imported in the same file.
I don't see that this is a problem, in fact it makes swapping out implementations marginally easier. |
Yea, that suggestion is basically the same as now, and is fine. I was pondering the consequences of the access point being |
Abandoning. |
This is the first half of the lapck/blas move. The second part has code gen fiddling that it's too late in the day to do.
The godoc gets pretty unwieldy so do we want to do this?
@btracey Please take a look.