LCOV - code coverage report
Current view: top level - elsa/problems - RepresentationProblem.cpp (source / functions) Hit Total Coverage
Test: coverage-all.lcov Lines: 11 15 73.3 %
Date: 2022-08-25 03:05:39 Functions: 8 10 80.0 %

          Line data    Source code
       1             : #include "RepresentationProblem.h"
       2             : #include "LinearResidual.h"
       3             : #include "L2NormPow2.h"
       4             : 
       5             : namespace elsa
       6             : {
       7             : 
       8             :     template <typename data_t>
       9             :     RepresentationProblem<data_t>::RepresentationProblem(const Dictionary<data_t>& D,
      10             :                                                          const DataContainer<data_t>& y)
      11             :         : Problem<data_t>{L2NormPow2<data_t>{LinearResidual<data_t>{D, y}}}, _dict(D), _signal(y)
      12          12 :     {
      13          12 :     }
      14             : 
      15             :     template <typename data_t>
      16             :     const Dictionary<data_t>& RepresentationProblem<data_t>::getDictionary() const
      17           3 :     {
      18           3 :         return _dict;
      19           3 :     }
      20             : 
      21             :     template <typename data_t>
      22             :     const DataContainer<data_t>& RepresentationProblem<data_t>::getSignal() const
      23           4 :     {
      24           4 :         return _signal;
      25           4 :     }
      26             : 
      27             :     template <typename data_t>
      28             :     void RepresentationProblem<data_t>::getGradientImpl(DataContainer<data_t>&)
      29           0 :     {
      30           0 :         throw LogicError(
      31           0 :             "RepresentationProblem::getGradient: Objective function is not differentiable");
      32           0 :     }
      33             : 
      34             :     template <typename data_t>
      35             :     RepresentationProblem<data_t>* RepresentationProblem<data_t>::cloneImpl() const
      36           2 :     {
      37           2 :         return new RepresentationProblem(_dict, _signal);
      38           2 :     }
      39             : 
      40             :     // ------------------------------------------
      41             :     // explicit template instantiation
      42             :     template class RepresentationProblem<float>;
      43             :     template class RepresentationProblem<double>;
      44             : 
      45             : } // namespace elsa

Generated by: LCOV version 1.14