GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/core/control-base.hxx
Date: 2025-06-03 08:14:12
Exec Total Coverage
Lines: 0 26 0.0%
Functions: 0 18 0.0%
Branches: 0 18 0.0%

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