GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/crocoddyl/core/control-base.hxx Lines: 8 20 40.0 %
Date: 2024-02-13 11:12:33 Branches: 0 14 0.0 %

Line Branch Exec Source
1
///////////////////////////////////////////////////////////////////////////////
2
// BSD 3-Clause License
3
//
4
// Copyright (C) 2021, LAAS-CNRS, University of Edinburgh, University of Trento
5
// Copyright note valid unless otherwise stated in individual files.
6
// All rights reserved.
7
///////////////////////////////////////////////////////////////////////////////
8
9
#include <boost/make_shared.hpp>
10
11
namespace crocoddyl {
12
13
template <typename Scalar>
14
1071
ControlParametrizationModelAbstractTpl<
15
    Scalar>::ControlParametrizationModelAbstractTpl(const std::size_t nw,
16
                                                    const std::size_t nu)
17
1071
    : nw_(nw), nu_(nu) {}
18
19
template <typename Scalar>
20
2154
ControlParametrizationModelAbstractTpl<
21
2154
    Scalar>::~ControlParametrizationModelAbstractTpl() {}
22
23
template <typename Scalar>
24
boost::shared_ptr<ControlParametrizationDataAbstractTpl<Scalar> >
25
ControlParametrizationModelAbstractTpl<Scalar>::createData() {
26
  return boost::allocate_shared<ControlParametrizationDataAbstract>(
27
      Eigen::aligned_allocator<ControlParametrizationDataAbstract>(), this);
28
}
29
30
template <typename Scalar>
31
bool ControlParametrizationModelAbstractTpl<Scalar>::checkData(
32
    const boost::shared_ptr<ControlParametrizationDataAbstract>&) {
33
  return false;
34
}
35
36
template <typename Scalar>
37
typename MathBaseTpl<Scalar>::MatrixXs
38
ControlParametrizationModelAbstractTpl<Scalar>::multiplyByJacobian_J(
39
    const boost::shared_ptr<ControlParametrizationDataAbstract>& data,
40
    const Eigen::Ref<const MatrixXs>& A, const AssignmentOp op) const {
41
  MatrixXs AJ(A.rows(), nu_);
42
  multiplyByJacobian(data, A, AJ, op);
43
  return AJ;
44
}
45
46
template <typename Scalar>
47
typename MathBaseTpl<Scalar>::MatrixXs
48
ControlParametrizationModelAbstractTpl<Scalar>::multiplyJacobianTransposeBy_J(
49
    const boost::shared_ptr<ControlParametrizationDataAbstract>& data,
50
    const Eigen::Ref<const MatrixXs>& A, const AssignmentOp op) const {
51
  MatrixXs JTA(nu_, A.cols());
52
  multiplyJacobianTransposeBy(data, A, JTA, op);
53
  return JTA;
54
}
55
56
template <typename Scalar>
57
352698
std::size_t ControlParametrizationModelAbstractTpl<Scalar>::get_nw() const {
58
352698
  return nw_;
59
}
60
61
template <typename Scalar>
62
209473
std::size_t ControlParametrizationModelAbstractTpl<Scalar>::get_nu() const {
63
209473
  return nu_;
64
}
65
66
}  // namespace crocoddyl