gaussian_elimination_export.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
27 
34 #ifndef ACADO_TOOLKIT_EXPORT_GAUSS_ELIM_HPP
35 #define ACADO_TOOLKIT_EXPORT_GAUSS_ELIM_HPP
36 
38 
39 
41 
42 
55 {
56  //
57  // PUBLIC MEMBER FUNCTIONS:
58  //
59  public:
60 
66  ExportGaussElim( UserInteraction* _userInteraction = 0,
67  const std::string& _commonHeaderName = ""
68  );
69 
71  virtual ~ExportGaussElim( );
72 
73 
78  virtual returnValue setup( );
79 
80 
88  ExportStruct dataStruct = ACADO_ANY
89  ) const;
90 
91 
99  ) const;
100 
101 
109  );
110 
111 
118  returnValue appendVariableNames( std::stringstream& string );
119 
120 
125  virtual ExportVariable getGlobalExportVariable( const uint factor ) const;
126 
127 
128  //
129  // PROTECTED MEMBER FUNCTIONS:
130  //
131  protected:
132 
133  virtual returnValue setupSolveUpperTriangular( ExportFunction& _solveTriangular );
134 
135  virtual returnValue setupSolve( ExportFunction& _solve, ExportFunction& _solveTriangular, ExportVariable& _swap, ExportVariable& _determinant, const std::string& absF );
136 
137  virtual returnValue setupFactorization( ExportFunction& _solve, ExportVariable& _swap, ExportVariable& _determinant, const std::string& absF );
138 
139  virtual returnValue setupSolveReuse( ExportFunction& _solveReuse, ExportFunction& _solveTriangular, ExportVariable& _bPerm );
140 
141  virtual returnValue setupSolveReuseComplete( ExportFunction& _solveReuse, ExportVariable& _bPerm );
142 
143  virtual returnValue setupSolveReuseTranspose( ExportFunction& _solveReuse, ExportVariable& _bPerm );
144 
145 
146  protected:
147 
148  // DEFINITION OF THE EXPORTVARIABLES
156 };
157 
158 
160 
161 
162 #endif // ACADO_TOOLKIT_EXPORT_GAUSS_ELIM_HPP
163 
164 // end of file.
virtual returnValue setup()
Allows to pass back messages to the calling function.
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
virtual returnValue setupSolveReuseTranspose(ExportFunction &_solveReuse, ExportVariable &_bPerm)
virtual returnValue setupSolveReuseComplete(ExportFunction &_solveReuse, ExportVariable &_bPerm)
#define CLOSE_NAMESPACE_ACADO
virtual returnValue getCode(ExportStatementBlock &code)
returnValue appendVariableNames(std::stringstream &string)
ExportStruct
Allows to export Gaussian elimination for solving linear systems of specific dimensions.
Encapsulates all user interaction for setting options, logging data and plotting results.
Allows to export code of an arbitrary function.
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const
virtual returnValue setupSolveUpperTriangular(ExportFunction &_solveTriangular)
virtual returnValue setupSolve(ExportFunction &_solve, ExportFunction &_solveTriangular, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF)
ExportGaussElim(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
#define BEGIN_NAMESPACE_ACADO
virtual returnValue setupSolveReuse(ExportFunction &_solveReuse, ExportFunction &_solveTriangular, ExportVariable &_bPerm)
Allows to export automatically generated algorithms for solving linear systems of specific dimensions...
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
Allows to export code for a block of statements.
virtual ExportVariable getGlobalExportVariable(const uint factor) const
Defines a matrix-valued variable to be used for exporting code.
virtual returnValue setupFactorization(ExportFunction &_solve, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF)


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:37