GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/core/control-base.hxx
Date: 2025-01-30 11:01:55
Exec Total Coverage
Lines: 8 20 40.0%
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 1118 ControlParametrizationModelAbstractTpl<
15 Scalar>::ControlParametrizationModelAbstractTpl(const std::size_t nw,
16 const std::size_t nu)
17 1118 : nw_(nw), nu_(nu) {}
18
19 template <typename Scalar>
20 2248 ControlParametrizationModelAbstractTpl<
21 2248 Scalar>::~ControlParametrizationModelAbstractTpl() {}
22
23 template <typename Scalar>
24 std::shared_ptr<ControlParametrizationDataAbstractTpl<Scalar> >
25 ControlParametrizationModelAbstractTpl<Scalar>::createData() {
26 return std::allocate_shared<ControlParametrizationDataAbstract>(
27 Eigen::aligned_allocator<ControlParametrizationDataAbstract>(), this);
28 }
29
30 template <typename Scalar>
31 bool ControlParametrizationModelAbstractTpl<Scalar>::checkData(
32 const std::shared_ptr<ControlParametrizationDataAbstract>&) {
33 return false;
34 }
35
36 template <typename Scalar>
37 typename MathBaseTpl<Scalar>::MatrixXs
38 ControlParametrizationModelAbstractTpl<Scalar>::multiplyByJacobian_J(
39 const std::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 std::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 376903 std::size_t ControlParametrizationModelAbstractTpl<Scalar>::get_nw() const {
58 376903 return nw_;
59 }
60
61 template <typename Scalar>
62 223771 std::size_t ControlParametrizationModelAbstractTpl<Scalar>::get_nu() const {
63 223771 return nu_;
64 }
65
66 } // namespace crocoddyl
67