In the current state if the dune-common dense LA I encountered several smaller bugs w.r.t. mixed precision computations:
DenseMatrix::mv
and DenseMatrix::mtv
was the value_type
of the matrix, but it has to be the field_type
of the vector.usmv
. usmtv
and ushtv
has the wrong type and must be the field_type
of the result vector. For details see bdf74dca
Besides this there were 2 minor issues I found while fixing the mixed precision case.
FieldMatrix
with std::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.