/*
* This file is part of qpOASES .
*
* qpOASES - - An Implementation of the Online Active Set Strategy .
* Copyright ( C ) 2007 - 2015 by Hans Joachim Ferreau , Andreas Potschka ,
* Christian Kirches et al . All rights reserved .
*
* qpOASES is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2.1 of the License , or ( at your option ) any later version .
*
* qpOASES is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE .
* See the GNU Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
* License along with qpOASES ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
*
*/
/**
* \ file include / qpOASES_e / Constants . h
* \ author Hans Joachim Ferreau , Andreas Potschka , Christian Kirches
* \ version 3.1 embedded
* \ date 2007 - 2015
*
* Definition of all global constants .
*/
# ifndef QPOASES_CONSTANTS_H
# define QPOASES_CONSTANTS_H
# include <qpOASES_e/Types.h>
# ifdef __CODE_GENERATION__
# define CONVERTTOSTRINGAUX(x) #x
# define CONVERTTOSTRING(x) CONVERTTOSTRINGAUX(x)
# ifndef QPOASES_CUSTOM_INTERFACE
# include "acado_qpoases3_interface.h"
# else
# include CONVERTTOSTRING(QPOASES_CUSTOM_INTERFACE)
# endif
# endif
BEGIN_NAMESPACE_QPOASES
# ifndef __EXTERNAL_DIMENSIONS__
/*#define QPOASES_NVMAX 50
# define QPOASES_NCMAX 100* /
# define QPOASES_NVMAX 287
# define QPOASES_NCMAX 709
# endif /* __EXTERNAL_DIMENSIONS__ */
/** Maximum number of variables within a QP formulation.
* Note : this value has to be positive ! */
# define NVMAX QPOASES_NVMAX
/** Maximum number of constraints within a QP formulation.
* Note : this value has to be positive ! */
# define NCMAX QPOASES_NCMAX
# if ( QPOASES_NVMAX > QPOASES_NCMAX )
# define NVCMAX QPOASES_NVMAX
# else
# define NVCMAX QPOASES_NCMAX
# endif
# if ( QPOASES_NVMAX > QPOASES_NCMAX )
# define NVCMIN QPOASES_NCMAX
# else
# define NVCMIN QPOASES_NVMAX
# endif
/** Maximum number of QPs in a sequence solved by means of the OQP interface.
* Note : this value has to be positive ! */
# define NQPMAX 1000
/** Numerical value of machine precision (min eps, s.t. 1+eps > 1).
* Note : this value has to be positive ! */
# ifndef __CODE_GENERATION__
# ifdef __USE_SINGLE_PRECISION__
static const real_t QPOASES_EPS = 1.193e-07 ;
# else
static const real_t QPOASES_EPS = 2.221e-16 ;
# endif /* __USE_SINGLE_PRECISION__ */
# endif /* __CODE_GENERATION__ */
/** Numerical value of zero (for situations in which it would be
* unreasonable to compare with 0.0 ) .
* Note : this value has to be positive ! */
static const real_t QPOASES_ZERO = 1.0e-25 ;
/** Numerical value of infinity (e.g. for non-existing bounds).
* Note : this value has to be positive ! */
static const real_t QPOASES_INFTY = 1.0e20 ;
/** Tolerance to used for isEqual, isZero etc.
* Note : this value has to be positive ! */
static const real_t QPOASES_TOL = 1.0e-25 ;
/** Maximum number of characters within a string.
* Note : this value should be at least 41 ! */
# define QPOASES_MAX_STRING_LENGTH 160
END_NAMESPACE_QPOASES
# endif /* QPOASES_CONSTANTS_H */
/*
* end of file
*/