GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/core/fwd.hpp
Date: 2025-01-30 11:01:55
Exec Total Coverage
Lines: 4 4 100.0%
Branches: 3 6 50.0%

Line Branch Exec Source
1 ///////////////////////////////////////////////////////////////////////////////
2 // BSD 3-Clause License
3 //
4 // Copyright (C) 2019-2022, LAAS-CNRS, University of Edinburgh
5 // Copyright note valid unless otherwise stated in individual files.
6 // All rights reserved.
7 ///////////////////////////////////////////////////////////////////////////////
8
9 #ifndef CROCODDYL_CORE_FWD_HPP_
10 #define CROCODDYL_CORE_FWD_HPP_
11
12 #include "crocoddyl/core/utils/deprecate.hpp"
13
14 namespace crocoddyl {
15
16 481 inline bool& enableMultithreading() {
17 static bool enable = true;
18 481 return enable;
19 }
20
21 enum AssignmentOp { setto, addto, rmfrom };
22
23 115775 inline bool is_a_AssignmentOp(AssignmentOp op) {
24
3/6
✓ Branch 0 taken 24129 times.
✓ Branch 1 taken 91646 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24129 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
115775 return (op == setto || op == addto || op == rmfrom);
25 }
26
27 // action
28 template <typename Scalar>
29 class ActionModelAbstractTpl;
30
31 template <typename Scalar>
32 struct ActionDataAbstractTpl;
33
34 template <typename Scalar>
35 class ActionModelUnicycleTpl;
36 template <typename Scalar>
37 struct ActionDataUnicycleTpl;
38
39 template <typename Scalar>
40 class ActionModelLQRTpl;
41 template <typename Scalar>
42 struct ActionDataLQRTpl;
43
44 // differential action
45 template <typename Scalar>
46 class DifferentialActionModelAbstractTpl;
47 template <typename Scalar>
48 struct DifferentialActionDataAbstractTpl;
49
50 template <typename Scalar>
51 class DifferentialActionModelLQRTpl;
52 template <typename Scalar>
53 struct DifferentialActionDataLQRTpl;
54
55 // integrated action
56 template <typename Scalar>
57 class IntegratedActionModelAbstractTpl;
58 template <typename Scalar>
59 struct IntegratedActionDataAbstractTpl;
60
61 template <typename Scalar>
62 class IntegratedActionModelEulerTpl;
63 template <typename Scalar>
64 struct IntegratedActionDataEulerTpl;
65
66 template <typename Scalar>
67 class IntegratedActionModelRKTpl;
68 template <typename Scalar>
69 struct IntegratedActionDataRKTpl;
70
71 template <typename Scalar>
72 class IntegratedActionModelRK4Tpl;
73 template <typename Scalar>
74 struct IntegratedActionDataRK4Tpl;
75
76 // residual
77 template <typename Scalar>
78 class ResidualModelAbstractTpl;
79 template <typename Scalar>
80 struct ResidualDataAbstractTpl;
81
82 // activation
83 template <typename Scalar>
84 struct ActivationBoundsTpl;
85 template <typename Scalar>
86 class ActivationModelQuadraticBarrierTpl;
87 template <typename Scalar>
88 struct ActivationDataQuadraticBarrierTpl;
89
90 template <typename Scalar>
91 class ActivationModelWeightedQuadraticBarrierTpl;
92
93 template <typename Scalar>
94 class ActivationModelQuadTpl;
95
96 template <typename Scalar>
97 class ActivationModelQuadFlatExpTpl;
98 template <typename Scalar>
99 struct ActivationDataQuadFlatExpTpl;
100
101 template <typename Scalar>
102 class ActivationModelQuadFlatLogTpl;
103 template <typename Scalar>
104 struct ActivationDataQuadFlatLogTpl;
105
106 template <typename Scalar>
107 class ActivationModelWeightedQuadTpl;
108 template <typename Scalar>
109 struct ActivationDataWeightedQuadTpl;
110
111 template <typename Scalar>
112 class ActivationModelSmooth1NormTpl;
113 template <typename Scalar>
114 struct ActivationDataSmooth1NormTpl;
115
116 template <typename Scalar>
117 class ActivationModelSmooth2NormTpl;
118 template <typename Scalar>
119 struct ActivationDataSmooth2NormTpl;
120
121 template <typename Scalar>
122 class ActivationModel2NormBarrierTpl;
123 template <typename Scalar>
124 struct ActivationData2NormBarrierTpl;
125
126 template <typename Scalar>
127 class ActivationModelAbstractTpl;
128 template <typename Scalar>
129 struct ActivationDataAbstractTpl;
130
131 // state
132 template <typename Scalar>
133 class StateAbstractTpl;
134
135 template <typename Scalar>
136 class StateVectorTpl;
137
138 // control
139 template <typename Scalar>
140 class ControlParametrizationModelAbstractTpl;
141 template <typename Scalar>
142 struct ControlParametrizationDataAbstractTpl;
143
144 template <typename Scalar>
145 class ControlParametrizationModelPolyZeroTpl;
146
147 template <typename Scalar>
148 class ControlParametrizationModelPolyOneTpl;
149 template <typename Scalar>
150 struct ControlParametrizationDataPolyOneTpl;
151
152 template <typename Scalar>
153 class ControlParametrizationModelPolyTwoRKTpl;
154 template <typename Scalar>
155 struct ControlParametrizationDataPolyTwoRKTpl;
156
157 // actuation
158 template <typename Scalar>
159 class ActuationModelAbstractTpl;
160 template <typename Scalar>
161 struct ActuationDataAbstractTpl;
162
163 template <typename Scalar>
164 class ActuationSquashingModelTpl;
165 template <typename Scalar>
166 struct ActuationSquashingDataTpl;
167
168 // squashing
169 template <typename Scalar>
170 class SquashingModelAbstractTpl;
171 template <typename Scalar>
172 struct SquashingDataAbstractTpl;
173
174 template <typename Scalar>
175 class SquashingModelSmoothSatTpl;
176
177 // joint
178 template <typename Scalar>
179 struct JointDataAbstractTpl;
180
181 // data collector
182 template <typename Scalar>
183 struct DataCollectorAbstractTpl;
184
185 template <typename Scalar>
186 struct DataCollectorActuationTpl;
187
188 template <typename Scalar>
189 struct DataCollectorJointTpl;
190
191 template <typename Scalar>
192 struct DataCollectorJointActuationTpl;
193
194 // residual
195 template <typename Scalar>
196 class ResidualModelControlTpl;
197 template <typename Scalar>
198 struct ResidualDataControlTpl;
199
200 template <typename Scalar>
201 class ResidualModelJointEffortTpl;
202 template <typename Scalar>
203 struct ResidualDataJointEffortTpl;
204
205 template <typename Scalar>
206 class ResidualModelJointAccelerationTpl;
207 template <typename Scalar>
208 struct ResidualDataJointAccelerationTpl;
209
210 // cost
211 template <typename Scalar>
212 class CostModelAbstractTpl;
213 template <typename Scalar>
214 struct CostDataAbstractTpl;
215
216 template <typename Scalar>
217 struct CostItemTpl;
218 template <typename Scalar>
219 class CostModelSumTpl;
220 template <typename Scalar>
221 struct CostDataSumTpl;
222
223 template <typename Scalar>
224 class CostModelResidualTpl;
225 template <typename Scalar>
226 struct CostDataResidualTpl;
227
228 // constraint
229 template <typename Scalar>
230 class ConstraintModelAbstractTpl;
231 template <typename Scalar>
232 struct ConstraintDataAbstractTpl;
233
234 template <typename Scalar>
235 struct ConstraintItemTpl;
236 template <typename Scalar>
237 class ConstraintModelManagerTpl;
238 template <typename Scalar>
239 struct ConstraintDataManagerTpl;
240
241 template <typename Scalar>
242 class ConstraintModelResidualTpl;
243 template <typename Scalar>
244 struct ConstraintDataResidualTpl;
245
246 // shooting
247 template <typename Scalar>
248 class ShootingProblemTpl;
249
250 // Numdiff
251 template <typename Scalar>
252 class ActionModelNumDiffTpl;
253 template <typename Scalar>
254 struct ActionDataNumDiffTpl;
255
256 template <typename Scalar>
257 class DifferentialActionModelNumDiffTpl;
258 template <typename Scalar>
259 struct DifferentialActionDataNumDiffTpl;
260
261 template <typename Scalar>
262 class ActivationModelNumDiffTpl;
263 template <typename Scalar>
264 struct ActivationDataNumDiffTpl;
265
266 template <typename Scalar>
267 class ResidualModelNumDiffTpl;
268 template <typename Scalar>
269 struct ResidualDataNumDiffTpl;
270
271 template <typename Scalar>
272 class ConstraintModelNumDiffTpl;
273 template <typename Scalar>
274 struct ConstraintDataNumDiffTpl;
275
276 template <typename Scalar>
277 class StateNumDiffTpl;
278
279 template <typename Scalar>
280 class ControlParametrizationModelNumDiffTpl;
281 template <typename Scalar>
282 struct ControlParametrizationDataNumDiffTpl;
283
284 template <typename Scalar>
285 class ActuationModelNumDiffTpl;
286 template <typename Scalar>
287 struct ActuationDataNumDiffTpl;
288
289 template <typename Scalar>
290 class ActionModelCodeGenTpl;
291
292 template <typename Scalar>
293 struct ActionDataCodeGenTpl;
294
295 /********************Template Instantiation*************/
296 typedef ActionModelAbstractTpl<double> ActionModelAbstract;
297 typedef ActionDataAbstractTpl<double> ActionDataAbstract;
298 typedef ActionModelUnicycleTpl<double> ActionModelUnicycle;
299 typedef ActionDataUnicycleTpl<double> ActionDataUnicycle;
300 typedef ActionModelLQRTpl<double> ActionModelLQR;
301 typedef ActionDataLQRTpl<double> ActionDataLQR;
302
303 typedef DifferentialActionModelAbstractTpl<double>
304 DifferentialActionModelAbstract;
305 typedef DifferentialActionDataAbstractTpl<double>
306 DifferentialActionDataAbstract;
307 typedef DifferentialActionModelLQRTpl<double> DifferentialActionModelLQR;
308 typedef DifferentialActionDataLQRTpl<double> DifferentialActionDataLQR;
309
310 typedef IntegratedActionModelAbstractTpl<double> IntegratedActionModelAbstract;
311 typedef IntegratedActionDataAbstractTpl<double> IntegratedActionDataAbstract;
312 typedef IntegratedActionModelEulerTpl<double> IntegratedActionModelEuler;
313 typedef IntegratedActionDataEulerTpl<double> IntegratedActionDataEuler;
314 typedef IntegratedActionModelRKTpl<double> IntegratedActionModelRK;
315 typedef IntegratedActionDataRKTpl<double> IntegratedActionDataRK;
316 DEPRECATED(
317 "Use IntegratedActionModelRK",
318 typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;)
319 DEPRECATED("Use IntegratedActionModelRK",
320 typedef IntegratedActionDataRK4Tpl<double> IntegratedActionDataRK4;)
321
322 typedef ResidualModelAbstractTpl<double> ResidualModelAbstract;
323 typedef ResidualDataAbstractTpl<double> ResidualDataAbstract;
324 typedef ResidualModelControlTpl<double> ResidualModelControl;
325 typedef ResidualDataControlTpl<double> ResidualDataControl;
326 typedef ResidualModelJointEffortTpl<double> ResidualModelJointEffort;
327 typedef ResidualDataJointEffortTpl<double> ResidualDataJointEffort;
328 typedef ResidualModelJointAccelerationTpl<double>
329 ResidualModelJointAcceleration;
330 typedef ResidualDataJointAccelerationTpl<double> ResidualDataJointAcceleration;
331
332 typedef ActivationDataQuadraticBarrierTpl<double>
333 ActivationDataQuadraticBarrier;
334 typedef ActivationModelQuadraticBarrierTpl<double>
335 ActivationModelQuadraticBarrier;
336 typedef ActivationBoundsTpl<double> ActivationBounds;
337 typedef ActivationModelWeightedQuadraticBarrierTpl<double>
338 ActivationModelWeightedQuadraticBarrier;
339 typedef ActivationModelQuadTpl<double> ActivationModelQuad;
340 typedef ActivationModelQuadFlatExpTpl<double> ActivationModelQuadFlatExp;
341 typedef ActivationDataQuadFlatExpTpl<double> ActivationDataQuadFlatExp;
342 typedef ActivationModelQuadFlatLogTpl<double> ActivationModelQuadFlatLog;
343 typedef ActivationDataQuadFlatLogTpl<double> ActivationDataQuadFlatLog;
344 typedef ActivationModelWeightedQuadTpl<double> ActivationModelWeightedQuad;
345 typedef ActivationDataWeightedQuadTpl<double> ActivationDataWeightedQuad;
346 DEPRECATED(
347 "Use ActivationModelSmooth1Norm",
348 typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;)
349 DEPRECATED(
350 "Use ActivationDataSmooth1Norm",
351 typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmoothAbs;)
352 typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmooth1Norm;
353 typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmooth1Norm;
354 typedef ActivationModelSmooth2NormTpl<double> ActivationModelSmooth2Norm;
355 typedef ActivationDataSmooth2NormTpl<double> ActivationDataSmooth2Norm;
356 typedef ActivationModel2NormBarrierTpl<double> ActivationModel2NormBarrier;
357 typedef ActivationData2NormBarrierTpl<double> ActivationData2NormBarrier;
358 typedef ActivationModelAbstractTpl<double> ActivationModelAbstract;
359 typedef ActivationDataAbstractTpl<double> ActivationDataAbstract;
360
361 typedef StateAbstractTpl<double> StateAbstract;
362 typedef StateVectorTpl<double> StateVector;
363
364 typedef ControlParametrizationModelAbstractTpl<double>
365 ControlParametrizationModelAbstract;
366 typedef ControlParametrizationDataAbstractTpl<double>
367 ControlParametrizationDataAbstract;
368 typedef ControlParametrizationModelPolyZeroTpl<double>
369 ControlParametrizationModelPolyZero;
370 typedef ControlParametrizationModelPolyOneTpl<double>
371 ControlParametrizationModelPolyOne;
372 typedef ControlParametrizationDataPolyOneTpl<double>
373 ControlParametrizationDataPolyOne;
374 typedef ControlParametrizationModelPolyTwoRKTpl<double>
375 ControlParametrizationModelPolyTwoRK;
376 typedef ControlParametrizationDataPolyTwoRKTpl<double>
377 ControlParametrizationDataPolyTwoRK;
378
379 typedef ActuationDataAbstractTpl<double> ActuationDataAbstract;
380 typedef ActuationModelAbstractTpl<double> ActuationModelAbstract;
381 typedef ActuationSquashingDataTpl<double> ActuationSquashingData;
382 typedef ActuationSquashingModelTpl<double> ActuationSquashingModel;
383
384 typedef SquashingDataAbstractTpl<double> SquashingDataAbstract;
385 typedef SquashingModelAbstractTpl<double> SquashingModelAbstract;
386 typedef SquashingModelSmoothSatTpl<double> SquashingModelSmoothSat;
387
388 typedef JointDataAbstractTpl<double> JointDataAbstract;
389
390 typedef DataCollectorAbstractTpl<double> DataCollectorAbstract;
391 typedef DataCollectorActuationTpl<double> DataCollectorActuation;
392 typedef DataCollectorJointTpl<double> DataCollectorJoint;
393 typedef DataCollectorJointActuationTpl<double> DataCollectorJointActuation;
394
395 typedef CostModelAbstractTpl<double> CostModelAbstract;
396 typedef CostDataAbstractTpl<double> CostDataAbstract;
397 typedef CostItemTpl<double> CostItem;
398 typedef CostModelSumTpl<double> CostModelSum;
399 typedef CostDataSumTpl<double> CostDataSum;
400 typedef CostModelResidualTpl<double> CostModelResidual;
401 typedef CostDataResidualTpl<double> CostDataResidual;
402
403 typedef ConstraintModelAbstractTpl<double> ConstraintModelAbstract;
404 typedef ConstraintDataAbstractTpl<double> ConstraintDataAbstract;
405 typedef ConstraintItemTpl<double> ConstraintItem;
406 typedef ConstraintModelManagerTpl<double> ConstraintModelManager;
407 typedef ConstraintDataManagerTpl<double> ConstraintDataManager;
408 typedef ConstraintModelResidualTpl<double> ConstraintModelResidual;
409 typedef ConstraintDataResidualTpl<double> ConstraintDataResidual;
410
411 typedef ShootingProblemTpl<double> ShootingProblem;
412
413 typedef ActionModelNumDiffTpl<double> ActionModelNumDiff;
414 typedef ActionDataNumDiffTpl<double> ActionDataNumDiff;
415 typedef ControlParametrizationModelNumDiffTpl<double>
416 ControlParametrizationModelNumDiff;
417 typedef ControlParametrizationDataNumDiffTpl<double>
418 ControlParametrizationDataNumDiff;
419 typedef DifferentialActionModelNumDiffTpl<double>
420 DifferentialActionModelNumDiff;
421 typedef DifferentialActionDataNumDiffTpl<double> DifferentialActionDataNumDiff;
422 typedef ActivationModelNumDiffTpl<double> ActivationModelNumDiff;
423 typedef ActivationDataNumDiffTpl<double> ActivationDataNumDiff;
424 typedef ResidualModelNumDiffTpl<double> ResidualModelNumDiff;
425 typedef ResidualDataNumDiffTpl<double> ResidualDataNumDiff;
426 typedef ConstraintModelNumDiffTpl<double> ConstraintModelNumDiff;
427 typedef ConstraintDataNumDiffTpl<double> ConstraintDataNumDiff;
428 typedef StateNumDiffTpl<double> StateNumDiff;
429 typedef ActuationModelNumDiffTpl<double> ActuationModelNumDiff;
430 typedef ActuationDataNumDiffTpl<double> ActuationDataNumDiff;
431
432 typedef ActionModelCodeGenTpl<double> ActionModelCodeGen;
433 typedef ActionDataCodeGenTpl<double> ActionDataCodeGen;
434
435 } // namespace crocoddyl
436
437 #endif // CROCODDYL_CORE_FWD_HPP_
438