File and class organization
I'd rather start with cleanup early. Here are my propositions on how to organize this module:
- Move the following files to subdirectory types
-
blockmatrixview.hh -
componentwisematrixmap.hh -
singlenonzerocolumnmatrix.hh -
singlenonzerorowmatrix.hh - Move the following files to a subdirectoy algorithm (?)
-
addtodiagonal.hh -
algorithm.hh (rename to sparseMatrixSomething.hh?) -
axpy.hh (rename to addProduct.hh, maybe also have substractProduct.hh) -
axy.hh -
crossproduct.hh -
genericvectortools.hh (split up functions?) -
getscalar.hh -
transformmatrix.hh -
transpose.hh - Move the following files to a subdirectory solvers (?)
-
ldlt.hh -
triangularsolve.hh - Optionally move the following files to a subdirectory tools (???)
-
algorithm.hh/sparseMatrixSomething.hh (instead of moving it to algorithm) -
concepts.hh (would otherwise remain in dune/solvers-root) -
promote.hh (would otherwise remain in dune/solvers-root)
I propose this also in view of to-be-migrated files from dune-solvers (many of dune/solvers/common), among them being
- defaultbitvector.hh
- resize.hh (provides resizeInitialize)
- genericvectortools.hh
- wrapownshare.hh
- tuplevector.hh
- staticmatrixtools.hh
- copyorreference.hh
- arithmetic.hh
Also, I am not sure about how to go with a transition phase. Introducing forwarding includes like currently there for matrixtraits.hh and scalartraits.hh is probably the most convenient, but I feel like it might spoil the point of cleaning up promptly.
For neither folder I'd introduce dedicated namespaces as of now.
Edited by Gitlab Import