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 
161 typedef long la_int_t;
162 typedef unsigned long la_uint_t;
163 
164 
166 
168 #ifdef __USE_SINGLE_PRECISION__
169 typedef float real_t;
170 #else
171 typedef double real_t;
172 #endif /* __USE_SINGLE_PRECISION__ */
173 
174 
176 #ifdef __USE_LONG_INTEGERS__
177 typedef long int_t;
178 typedef unsigned long uint_t;
179 #else
180 typedef int int_t;
181 typedef unsigned int uint_t;
182 #endif /* __USE_LONG_INTEGERS__ */
183 
184 
186 #ifdef __USE_LONG_FINTS__
187 typedef long fint_t;
188 #else
189 typedef int fint_t;
190 #endif /* __USE_LONG_FINTS__ */
191 
192 
200 
201 
204 {
207 };
208 
209 
213 {
220 };
221 
222 
225 {
228 };
229 
230 
234 {
244 };
245 
246 
249 {
257 };
258 
259 
262 {
268 };
269 
270 
273 {
274  ST_LOWER = -1,
280 };
281 
284 {
290 };
291 
311 };
312 
313 
314 
329 typedef struct {
331  long nRows;
332  long nCols;
334  long nCharName;
336 
337 
338 
339 
341 
342 
343 #endif /* QPOASES_TYPES_HPP */
344 
345 
346 /*
347  * end of file
348  */
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
long la_int_t
Definition: Types.hpp:161
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
Definition: Types.hpp:252
QProblemStatus
Definition: Types.hpp:233
int_t idxAddC
Definition: Types.hpp:305
int int_t
Definition: Types.hpp:180
SubjectToType
Definition: Types.hpp:261
Definition: Types.hpp:217
int_t excAddC
Definition: Types.hpp:309
long imaginaryPart
Definition: Types.hpp:333
SchurUpdateType
Definition: Types.hpp:283
Definition: Types.hpp:275
Definition: Types.hpp:216
Definition: Types.hpp:285
HessianType
Definition: Types.hpp:248
int_t idxRemC
Definition: Types.hpp:306
long nRows
Definition: Types.hpp:331
Definition: Types.hpp:206
SubjectToStatus
Definition: Types.hpp:272
Definition: Types.hpp:287
int_t excRemB
Definition: Types.hpp:308
Definition: Types.hpp:279
Definition: Types.hpp:240
Definition: Types.hpp:278
Definition: Types.hpp:263
Definition: Types.hpp:265
Definition: Types.hpp:235
Definition: Types.hpp:236
int_t excAddB
Definition: Types.hpp:307
Definition: Types.hpp:205
Definition: Types.hpp:250
Definition: Types.hpp:251
Definition: Types.hpp:218
int fint_t
Definition: Types.hpp:189
Definition: Types.hpp:253
Definition: Types.hpp:242
Definition: Types.hpp:256
Definition: Types.hpp:266
Definition: Types.hpp:214
Definition: Types.hpp:215
Definition: Types.hpp:289
Definition: Types.hpp:243
long nCols
Definition: Types.hpp:332
Definition: Types.hpp:267
Definition: Types.hpp:277
Definition: Types.hpp:274
Definition: Types.hpp:227
Stores internal information for tabular (debugging) output.
Definition: Types.hpp:302
Definition: Types.hpp:288
Struct containing the variable header for mat file.
Definition: Types.hpp:329
Definition: Types.hpp:226
long numericFormat
Definition: Types.hpp:330
Definition: Types.hpp:264
int_t idxRemB
Definition: Types.hpp:304
Definition: Types.hpp:276
PrintLevel
Definition: Types.hpp:212
Definition: Types.hpp:286
Definition: Types.hpp:254
long nCharName
Definition: Types.hpp:334
Definition: Types.hpp:255
VisibilityStatus
Definition: Types.hpp:224
Definition: Types.hpp:238
int_t idxAddB
Definition: Types.hpp:303
BooleanType
Definition: Types.hpp:203
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
Definition: Types.hpp:219
int_t sparse_int_t
Definition: Types.hpp:199
int_t excRemC
Definition: Types.hpp:310