GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/crocoddyl/core/fwd.hpp Lines: 4 4 100.0 %
Date: 2024-02-13 11:12:33 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
527
inline bool& enableMultithreading() {
17
  static bool enable = true;
18
527
  return enable;
19
}
20
21
enum AssignmentOp { setto, addto, rmfrom };
22
23
106856
inline bool is_a_AssignmentOp(AssignmentOp op) {
24

106856
  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_