proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
macros.hpp
Go to the documentation of this file.
1
3#pragma once
4
5#include "proxsuite-nlp/deprecated.hpp"
6
8#define PROXSUITE_NLP_MACRO_EMPTY_ARG
9
10#define PROXSUITE_NLP_EIGEN_CONST_CAST(type, obj) const_cast<type &>(obj)
11
12#ifdef PROXSUITE_NLP_EIGEN_CHECK_MALLOC
13#define PROXSUITE_NLP_EIGEN_ALLOW_MALLOC(allowed) \
14 ::Eigen::internal::set_is_malloc_allowed(allowed)
15#else
16#define PROXSUITE_NLP_EIGEN_ALLOW_MALLOC(allowed)
17#endif
18
20#define PROXSUITE_NLP_NOMALLOC_BEGIN PROXSUITE_NLP_EIGEN_ALLOW_MALLOC(false)
21
23#define PROXSUITE_NLP_NOMALLOC_END PROXSUITE_NLP_EIGEN_ALLOW_MALLOC(true)
24
25#ifdef __GNUC__
26#define PROXSUITE_NLP_INLINE inline __attribute__((always_inline))
27#else
28#define PROXSUITE_NLP_INLINE inline
29#endif
30
32#if defined(__GNUC__) || defined(__clang__)
33#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_PUSH \
34 PROXSUITE_NLP_PRAGMA(GCC diagnostic push)
35#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_POP \
36 PROXSUITE_NLP_PRAGMA(GCC diagnostic pop)
37#if defined(__clang__)
38#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
39PROXSUITE_NLP_PRAGMA(GCC diagnostic ignored
40 "-Wdelete-non-abstract-non-virtual-dtor")
41#else
42#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
43#endif
44#elif defined(WIN32)
45#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_PUSH _Pragma("warning(push)")
46#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_POP _Pragma("warning(pop)")
47#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
48#else
49#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_PUSH
50#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_POP
51#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
52#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_VARIADIC_MACROS
53#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_SELF_ASSIGN_OVERLOADED
54#define PROXSUITE_NLP_COMPILER_DIAGNOSTIC_IGNORED_MAYBE_UNINITIALIZED
55#endif // __GNUC__ || __clang__