Feature/fix mixed precision dense matrix vector interface
In the current state if the dune-common dense LA I encountered several smaller bugs w.r.t. mixed precision computations:
- the value_type used to reset the vector during
DenseMatrix::mv
andDenseMatrix::mtv
was thevalue_type
of the matrix, but it has to be thefield_type
of the vector. - the type of the scaling parameter alpha of
usmv
.usmtv
andushtv
has the wrong type and must be thefield_type
of the result vector. For details see bdf74dca
Besides this there were 2 minor issues I found while fixing the mixed precision case.
- the range checks we no longer performed
- if the tests are reenabled, they do not compile, because Robert added test for
FieldMatrix
withstd::vector
or C-array, which do not work, as we expect additional methods on the classes.
I enabled the range checks and disabled the std::vector
and C-array tests. We could work around this problem, by adding helper traits to determine the size and by this allowing us to special-case std::vector
and C-array.