qpOASES 3.2.1
An Implementation of the Online Active Set Strategy
Types.hpp
Go to the documentation of this file.
1/*
2 * This file is part of qpOASES.
3 *
4 * qpOASES -- An Implementation of the Online Active Set Strategy.
5 * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka,
6 * Christian Kirches et al. All rights reserved.
7 *
8 * qpOASES is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * qpOASES is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with qpOASES; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 *
22 */
23
24
35#ifndef QPOASES_TYPES_HPP
36#define QPOASES_TYPES_HPP
37
38
39/* If your compiler does not support the snprintf() function,
40 * uncomment the following line and try to compile again. */
41/* #define __NO_SNPRINTF__ */
42
43
44/* Uncomment the following line for setting the __DSPACE__ flag. */
45/* #define __DSPACE__ */
46
47/* Uncomment the following line for setting the __XPCTARGET__ flag. */
48/* #define __XPCTARGET__ */
49
50
51/* Uncomment the following line for setting the __NO_FMATH__ flag. */
52/* #define __NO_FMATH__ */
53
54/* Uncomment the following line to enable debug information. */
55/* #define __DEBUG__ */
56
57/* Uncomment the following line to enable suppress any kind of console output. */
58/* #define __SUPPRESSANYOUTPUT__ */
59
60
63#define __ALWAYS_INITIALISE_WITH_ALL_EQUALITIES__
64
65
66/* Uncomment the following line to activate the use of an alternative Givens
67 * plane rotation requiring only three multiplications. */
68/* #define __USE_THREE_MULTS_GIVENS__ */
69
70/* Uncomment the following line to activate the use of single precision arithmetic. */
71/* #define __USE_SINGLE_PRECISION__ */
72
73
74
75/* Work-around for Borland BCC 5.5 compiler. */
76#ifdef __BORLANDC__
77#if __BORLANDC__ < 0x0561
78 #define __STDC__ 1
79#endif
80#endif
81
82
83/* Work-around for Microsoft compilers. */
84#ifdef _MSC_VER
85 #define __NO_SNPRINTF__
86 #pragma warning( disable : 4061 4100 4250 4514 4996 )
87#endif
88
89
90#ifdef __DSPACE__
91
93 #define BEGIN_NAMESPACE_QPOASES
94
96 #define END_NAMESPACE_QPOASES
97
99 #define USING_NAMESPACE_QPOASES
100
102 #define REFER_NAMESPACE_QPOASES ::
103
104#else
105
107 #define BEGIN_NAMESPACE_QPOASES namespace qpOASES {
108
110 #define END_NAMESPACE_QPOASES }
111
113 #define USING_NAMESPACE_QPOASES using namespace qpOASES;
114
116 #define REFER_NAMESPACE_QPOASES qpOASES::
117
118#endif
119
120
121/* Avoid any printing on embedded platforms. */
122#if defined(__DSPACE__) || defined(__XPCTARGET__)
123 #define __SUPPRESSANYOUTPUT__
124 #define __NO_SNPRINTF__
125#endif
126
127
128#ifdef __NO_SNPRINTF__
129 #if (!defined(_MSC_VER)) || defined(__DSPACE__) || defined(__XPCTARGET__)
130 /* If snprintf is not available, provide an empty implementation... */
131 int snprintf( char* s, size_t n, const char* format, ... );
132 #else
133 /* ... or substitute snprintf by _snprintf for Microsoft compilers. */
134 #define snprintf _snprintf
135 #endif
136#endif /* __NO_SNPRINTF__ */
137
138
139
141#define RR( I,J ) R[(I)+nV*(J)]
142
144#define QQ( I,J ) Q[(I)+nV*(J)]
145
147#define TT( I,J ) T[(I)*sizeT+(J)]
148
149
150/* If neither MA57 nor MA27 are selected, activate the dummy solver */
151#if !defined(SOLVER_MA27) && !defined(SOLVER_MA57) && !defined(SOLVER_NONE)
152#define SOLVER_NONE
153#endif
154
155
161typedef long la_int_t;
162typedef unsigned long la_uint_t;
163
164
166
168#ifdef __USE_SINGLE_PRECISION__
169typedef float real_t;
170#else
171typedef double real_t;
172#endif /* __USE_SINGLE_PRECISION__ */
173
174
176#ifdef __USE_LONG_INTEGERS__
177typedef long int_t;
178typedef unsigned long uint_t;
179#else
180typedef int int_t;
181typedef unsigned int uint_t;
182#endif /* __USE_LONG_INTEGERS__ */
183
184
186#ifdef __USE_LONG_FINTS__
187typedef long fint_t;
188#else
189typedef int fint_t;
190#endif /* __USE_LONG_FINTS__ */
191
192
200
201
204{
206 BT_TRUE
208
209
213{
219 PL_HIGH
221
222
225{
229
230
234{
245
246
249{
258
259
262{
269
270
273{
274 ST_LOWER = -1,
281
284{
291
311};
312
313
314
329typedef struct {
331 long nRows;
332 long nCols;
336
337
338
339
341
342
343#endif /* QPOASES_TYPES_HPP */
344
345
346/*
347 * end of file
348 */
long la_int_t
Definition: Types.hpp:161
BooleanType
Definition: Types.hpp:204
@ BT_TRUE
Definition: Types.hpp:206
@ BT_FALSE
Definition: Types.hpp:205
VisibilityStatus
Definition: Types.hpp:225
@ VS_VISIBLE
Definition: Types.hpp:227
@ VS_HIDDEN
Definition: Types.hpp:226
SubjectToType
Definition: Types.hpp:262
@ ST_EQUALITY
Definition: Types.hpp:265
@ ST_DISABLED
Definition: Types.hpp:266
@ ST_UNKNOWN
Definition: Types.hpp:267
@ ST_UNBOUNDED
Definition: Types.hpp:263
@ ST_BOUNDED
Definition: Types.hpp:264
HessianType
Definition: Types.hpp:249
@ HST_POSDEF_NULLSPACE
Definition: Types.hpp:253
@ HST_UNKNOWN
Definition: Types.hpp:256
@ HST_INDEF
Definition: Types.hpp:255
@ HST_SEMIDEF
Definition: Types.hpp:254
@ HST_IDENTITY
Definition: Types.hpp:251
@ HST_POSDEF
Definition: Types.hpp:252
@ HST_ZERO
Definition: Types.hpp:250
SubjectToStatus
Definition: Types.hpp:273
@ ST_UPPER
Definition: Types.hpp:276
@ ST_INACTIVE
Definition: Types.hpp:275
@ ST_LOWER
Definition: Types.hpp:274
@ ST_INFEASIBLE_UPPER
Definition: Types.hpp:278
@ ST_INFEASIBLE_LOWER
Definition: Types.hpp:277
@ ST_UNDEFINED
Definition: Types.hpp:279
PrintLevel
Definition: Types.hpp:213
@ PL_DEBUG_ITER
Definition: Types.hpp:214
@ PL_HIGH
Definition: Types.hpp:219
@ PL_NONE
Definition: Types.hpp:216
@ PL_LOW
Definition: Types.hpp:217
@ PL_MEDIUM
Definition: Types.hpp:218
@ PL_TABULAR
Definition: Types.hpp:215
QProblemStatus
Definition: Types.hpp:234
@ QPS_AUXILIARYQPSOLVED
Definition: Types.hpp:238
@ QPS_NOTINITIALISED
Definition: Types.hpp:235
@ QPS_HOMOTOPYQPSOLVED
Definition: Types.hpp:242
@ QPS_PREPARINGAUXILIARYQP
Definition: Types.hpp:236
@ QPS_PERFORMINGHOMOTOPY
Definition: Types.hpp:240
@ QPS_SOLVED
Definition: Types.hpp:243
int_t sparse_int_t
Definition: Types.hpp:199
SchurUpdateType
Definition: Types.hpp:284
@ SUT_VarFixed
Definition: Types.hpp:285
@ SUT_ConRemoved
Definition: Types.hpp:288
@ SUT_VarFreed
Definition: Types.hpp:286
@ SUT_UNDEFINED
Definition: Types.hpp:289
@ SUT_ConAdded
Definition: Types.hpp:287
int int_t
Definition: Types.hpp:180
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
int fint_t
Definition: Types.hpp:189
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
Struct containing the variable header for mat file.
Definition: Types.hpp:329
long nCols
Definition: Types.hpp:332
long imaginaryPart
Definition: Types.hpp:333
long nRows
Definition: Types.hpp:331
long nCharName
Definition: Types.hpp:334
long numericFormat
Definition: Types.hpp:330
Stores internal information for tabular (debugging) output.
Definition: Types.hpp:302
int_t idxAddB
Definition: Types.hpp:303
int_t idxRemC
Definition: Types.hpp:306
int_t idxRemB
Definition: Types.hpp:304
int_t excRemB
Definition: Types.hpp:308
int_t excAddB
Definition: Types.hpp:307
int_t excAddC
Definition: Types.hpp:309
int_t idxAddC
Definition: Types.hpp:305
int_t excRemC
Definition: Types.hpp:310