GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/core/fwd.hpp
Date: 2025-05-13 10:30:51
Exec Total Coverage
Lines: 0 4 0.0%
Branches: 0 6 0.0%

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