6#ifdef EIGEN_DEFAULT_IO_FORMAT
7#undef EIGEN_DEFAULT_IO_FORMAT
9#define EIGEN_DEFAULT_IO_FORMAT \
10 Eigen::IOFormat(Eigen::StreamPrecision, 0, ",", "\n", "[", "]")
14#include "aligator/config.hpp"
15#include "aligator/deprecated.hpp"
19#define ALIGATOR_RAISE_IF_NAN(value) \
20 if (::aligator::math::check_value(value)) \
21 ALIGATOR_RUNTIME_ERROR("Encountered NaN.\n")
23#define ALIGATOR_RAISE_IF_NAN_NAME(value, name) \
24 if (::aligator::math::check_value(value)) \
25 ALIGATOR_RUNTIME_ERROR("Encountered NaN for variable {:s}\n", name)
27#define ALIGATOR_INLINE inline __attribute__((always_inline))
30#if defined(__GNUC__) || defined(__clang__)
31#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH ALIGATOR_PRAGMA(GCC diagnostic push)
32#define ALIGATOR_COMPILER_DIAGNOSTIC_POP ALIGATOR_PRAGMA(GCC diagnostic pop)
34#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
35ALIGATOR_PRAGMA(GCC diagnostic ignored
"-Wdelete-non-abstract-non-virtual-dtor")
37#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
40#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH _Pragma("warning(push)")
41#define ALIGATOR_COMPILER_DIAGNOSTIC_POP _Pragma("warning(pop)")
42#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
44#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH
45#define ALIGATOR_COMPILER_DIAGNOSTIC_POP
46#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
47#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_VARIADIC_MACROS
48#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_SELF_ASSIGN_OVERLOADED
49#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_MAYBE_UNINITIALIZED
64template <
typename Base,
typename U,
typename A = std::allocator<U>>
67template <
typename Base,
typename U,
typename A = std::allocator<U>>
76template <
typename Scalar,
int Dim = Eigen::Dynamic>
struct VectorSpaceTpl;
93template <
typename Scalar>
struct StageFunctionTpl;
96template <
typename Scalar>
struct UnaryFunctionTpl;
99template <
typename Scalar>
struct StageFunctionDataTpl;
102template <
typename Scalar>
struct CostAbstractTpl;
105template <
typename Scalar>
struct CostDataAbstractTpl;
108template <
typename Scalar>
struct DynamicsModelTpl;
111template <
typename Scalar>
struct DynamicsDataTpl;
114template <
typename Scalar>
struct StageConstraintTpl;
117template <
typename Scalar>
struct ExplicitDynamicsModelTpl;
120template <
typename Scalar>
struct ExplicitDynamicsDataTpl;
168template <
typename Scalar>
struct FilterTpl;
171using StdVectorEigenAligned ALIGATOR_DEPRECATED_MESSAGE(
172 "Aligator now requires C++17 and the Eigen::aligned_allocator<T> class is "
173 "no longer useful. Please use std::vector<T> instead, this typedef will "
174 "change to be an alias of that of the future, then will be removed.") =
175 std::vector<T, Eigen::aligned_allocator<T>>;
VerboseLevel
Verbosity level.
constexpr bool is_polymorphic_of_v
std::is_same< std::decay_t< U >, xyz::polymorphic< U, A > > is_polymorphic_of
Base constraint set type.
Convenience class to manage a stack of constraints.
A basic filter line-search strategy.
Represents a function of which the output is a subset of another function, for instance where is gi...
Base class for manifolds, to use in cost funcs, solvers...
The feasible DDP (FDDP) algorithm, from Mastalli et al. (2020).
A proximal, augmented Lagrangian-type solver for trajectory optimization.
Data struct for stage models StageModelTpl.
A stage in the control problem.
Trajectory optimization problem.
Standard Euclidean vector space.
Base workspace struct for the algorithms.
Workspace for solver SolverProxDDP.