Skip to content
Snippets Groups Projects
Forked from Core Modules / dune-common
Source project has a limited visibility.
Christian Engwer's avatar
Christian Engwer authored
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:

  1. the value_type used to reset the vector during `DenseMatrix::mv` and `DenseMatrix::mtv` was the `value_type` of the matrix, but it has to be the `field_type` of the vector.
  1. the type of the scaling parameter alpha of `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.

  1. the range checks we no longer performed
  1. if the tests are reenabled, they do not compile, because Robert added test for `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.

See merge request !10
994902f9
History
Name Last commit Last update