Skip to content
Snippets Groups Projects
  1. Dec 17, 2015
  2. Dec 16, 2015
  3. Dec 10, 2015
  4. Dec 09, 2015
    • Elias Pipping's avatar
      Static size checks for FieldMatrix::rightmultiply · 0fa536e5
      Elias Pipping authored
      Previously, the following piece of code would compile and only
      only predictable fail at runtime with assertions enabled.
      
        Dune::FieldMatrix<double, 2, 3> A;
        // populate A
      
        Dune::FieldMatrix<double, 3, 2> B_bad;
        // populate B_bad
        A.rightmultiply(B_bad);
      
      It now fails to compile.
      0fa536e5
    • Elias Pipping's avatar
      Enable FieldMatrix::rightmultiply(DenseMatrix) · db1f4459
      Elias Pipping authored
      Previously, the following piece of code would compile but then enter a
      loop, typically leading to a segmentation fault
      
        Dune::FieldMatrix<double, 2, 3> A;
        // populate A
      
        Dune::DynamicMatrix<double> B_good(3, 3);
        // populate B_good
        A.rightmultiply(B_good);
      
      This would also happen for the following illegal extension of the above code
      
        Dune::FieldMatrix<double, 3, 2> B_bad;
        // populate B_bad
        A.rightmultiply(B_bad);
      
      The former now works as expected while the latter fails an assertion.
      db1f4459
  5. Dec 07, 2015
  6. Dec 06, 2015
  7. Nov 26, 2015
  8. Nov 25, 2015
  9. Nov 24, 2015
  10. Nov 23, 2015
  11. Nov 20, 2015
    • Elias Pipping's avatar
      Test complex<T> for floating point T only · 998e368e
      Elias Pipping authored
      The standard leaves (the effect of instantiating) complex<T> for more
      general T unspecified.
      
      While we're at it, kill duplicate tests and add long double to the list
      998e368e
    • Christian Engwer's avatar
      affef6f2
    • Christian Engwer's avatar
      [densematrix] use the correct scaling parameter for usmv and friends · bdf74dca
      Christian Engwer authored
      In the current state the scaling parameter for matrix-vector products
      (e.g. the alpha parameter for DenseMatrix<...>::usmv) is the
      field_type of the matrix. I you consider mixed precision, like in the
      xblas library, you would actually want the scaling to be of the same
      accuracy as the output vector; an other reason is vectorization for
      one matrix and multiple vectors.
      
      The patch contains two changes:
      
      a) the FieldTraits are extended, so that the contain specializations
         for C and C++ vectors
      b) the thre matrix implementations are changed, such that they deduce
         the type as FieldTraits<Y>::field_type, where Y is the type of the
         result vector.
      
      In the case of identity matrix the old implementation was laso completely wrong, as it used
      Y::axpy to implement usmv and Y::axpy expects alpha to be Y::value_type, so that we already
      had a type clash, which just went unnoticed, as we never used mixed-types.
      bdf74dca
    • Christian Engwer's avatar
Loading