Types.hpp
Go to the documentation of this file.
00001 /*
00002  *      This file is part of qpOASES.
00003  *
00004  *      qpOASES -- An Implementation of the Online Active Set Strategy.
00005  *      Copyright (C) 2007-2011 by Hans Joachim Ferreau, Andreas Potschka,
00006  *      Christian Kirches et al. All rights reserved.
00007  *
00008  *      qpOASES is free software; you can redistribute it and/or
00009  *      modify it under the terms of the GNU Lesser General Public
00010  *      License as published by the Free Software Foundation; either
00011  *      version 2.1 of the License, or (at your option) any later version.
00012  *
00013  *      qpOASES is distributed in the hope that it will be useful,
00014  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016  *      See the GNU Lesser General Public License for more details.
00017  *
00018  *      You should have received a copy of the GNU Lesser General Public
00019  *      License along with qpOASES; if not, write to the Free Software
00020  *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  *
00022  */
00023 
00024 
00035 #ifndef QPOASES_TYPES_HPP
00036 #define QPOASES_TYPES_HPP
00037 
00038 
00039 /* If your compiler does not support the snprintf() function,
00040  * uncomment the following line and try to compile again. */
00041 /* #define snprintf _snprintf */
00042 
00043 
00044 /* Uncomment the following line for setting the __DSPACE__ flag. */
00045 /* #define __DSPACE__ */
00046 
00047 /* Uncomment the following line for setting the __XPCTARGET__ flag. */
00048 /* #define __XPCTARGET__ */
00049 
00050 
00051 /* Uncomment the following line to enable debug information. */
00052 /* #define __DEBUG__ */
00053 
00054 /* Uncomment the following line to enable debug iteration output. */
00055 /* #define __DEBUG_ITER__ */
00056 
00057 /* Uncomment the following line to enable suppress any kind of console output. */
00058 /* #define __SUPPRESSANYOUTPUT__ */
00059 
00060 
00063 #define __ALWAYS_INITIALISE_WITH_ALL_EQUALITIES__
00064 
00065 /* Uncomment the following line to activate the use of a special treatment of 
00066  * inactive constraints that is more efficient in case of QP formulations 
00067  * comprising many constraints. */
00068 /* #define __MANY_CONSTRAINTS__ */
00069 
00070 /* Uncomment the following line to activate the use of an alternative Givens 
00071  * plane rotation requiring only three multiplications. */
00072 /* #define __USE_THREE_MULTS_GIVENS__ */
00073 
00074 /* Uncomment the following line to activate the use of single precision arithmetic. */
00075 /* #define __USE_SINGLE_PRECISION__ */
00076 
00077 
00078 
00079 /* Work-around for Borland BCC 5.5 compiler. */
00080 #ifdef __BORLANDC__
00081   #define __STDC__ 1
00082 #endif
00083 
00084 
00085 /* Work-around for Microsoft compilers. */
00086 #ifdef _MSC_VER
00087   #define snprintf _snprintf
00088 #endif
00089 
00090 
00091 #ifdef __DSPACE__
00092   /* This fix ensures a compilable code only,
00093    * but all snprintf commands won't work. */
00094   #define snprintf printf
00095 #endif
00096 
00097 #ifdef __DSPACE__
00098 
00100         #define BEGIN_NAMESPACE_QPOASES
00101     
00103         #define END_NAMESPACE_QPOASES
00104 
00106         #define USING_NAMESPACE_QPOASES
00107 
00109         #define REFER_NAMESPACE_QPOASES
00110 
00111 #else
00112 
00114         #define BEGIN_NAMESPACE_QPOASES  namespace qpOASES {
00115 
00117         #define END_NAMESPACE_QPOASES    }
00118         
00120         #define USING_NAMESPACE_QPOASES  using namespace qpOASES;
00121         
00123         #define REFER_NAMESPACE_QPOASES  qpOASES::
00124 
00125 #endif
00126 
00127 
00129 #define RR( I,J )  R[(I)+nV*(J)]
00130 
00132 #define QQ( I,J )  Q[(I)+nV*(J)]
00133 
00135 #define TT( I,J )  T[(I)*sizeT+(J)]
00136 
00137 
00138 
00139 BEGIN_NAMESPACE_QPOASES
00140 
00141 
00143 #ifdef __USE_SINGLE_PRECISION__
00144 typedef float real_t;
00145 #else
00146 typedef double real_t;
00147 #endif /* __USE_SINGLE_PRECISION__ */
00148 
00149 
00151 #if defined( BT_FALSE ) && defined( BT_TRUE )
00152 #undef BT_FALSE
00153 #undef BT_TRUE
00154 #endif /* defined( BT_TRUE ) && defined( BT_FALSE ) */
00155 enum BooleanType
00156 {
00157         BT_FALSE,                                       
00158         BT_TRUE                                         
00159 };
00160 
00161 
00164 enum PrintLevel
00165 {
00166         PL_TABULAR = -1,                        
00167         PL_NONE,                                        
00168         PL_LOW,                                         
00169         PL_MEDIUM,                                      
00170         PL_HIGH                                         
00171 };
00172 
00173 
00175 enum VisibilityStatus
00176 {
00177         VS_HIDDEN,                                      
00178         VS_VISIBLE                                      
00179 };
00180 
00181 
00184 enum QProblemStatus
00185 {
00186         QPS_NOTINITIALISED,                     
00187         QPS_PREPARINGAUXILIARYQP,       
00189         QPS_AUXILIARYQPSOLVED,          
00191         QPS_PERFORMINGHOMOTOPY,         
00193         QPS_HOMOTOPYQPSOLVED,           
00194         QPS_SOLVED                                      
00195 };
00196 
00197 
00199 enum HessianType
00200 {
00201         HST_ZERO,                                       
00202         HST_IDENTITY,                           
00203         HST_POSDEF,                                     
00204         HST_POSDEF_NULLSPACE,           
00205         HST_SEMIDEF,                            
00206         HST_UNKNOWN                                     
00207 };
00208 
00209 
00211 enum SubjectToType
00212 {
00213         ST_UNBOUNDED,           
00214         ST_BOUNDED,                     
00215         ST_EQUALITY,            
00216         ST_UNKNOWN                      
00217 };
00218 
00219 
00221 enum SubjectToStatus
00222 {
00223         ST_INACTIVE,                    
00224         ST_LOWER,                               
00225         ST_UPPER,                               
00226         ST_UNDEFINED                    
00227 };
00228 
00229 
00230 
00231 END_NAMESPACE_QPOASES
00232 
00233 
00234 #endif  /* QPOASES_TYPES_HPP */
00235 
00236 
00237 /*
00238  *      end of file
00239  */


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Thu Aug 27 2015 12:01:25