From be2622e404f43a7c7c30ce9a6fea84e48174c479 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 17 Oct 2008 17:15:23 +0000 Subject: [PATCH] trunk preprocessor: added some comments git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2176 ac1d8469-bf42-47a9-8791-bf33cf982152 --- include/BlockTriangular.hh | 4 ++-- include/CodeInterpreter.hh | 6 +++--- include/ModelBlocks.hh | 6 +++--- include/ModelNormalization.hh | 12 +++++++++--- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/include/BlockTriangular.hh b/include/BlockTriangular.hh index 6e28602a..476c14d8 100644 --- a/include/BlockTriangular.hh +++ b/include/BlockTriangular.hh @@ -17,8 +17,8 @@ * along with Dynare. If not, see . */ -#ifndef BLOCKTRIANGULAR_H -#define BLOCKTRIANGULAR_H +#ifndef _BLOCKTRIANGULAR_HH +#define _BLOCKTRIANGULAR_HH #include #include "ExprNode.hh" diff --git a/include/CodeInterpreter.hh b/include/CodeInterpreter.hh index eab2d706..edbf3922 100644 --- a/include/CodeInterpreter.hh +++ b/include/CodeInterpreter.hh @@ -17,8 +17,8 @@ * along with Dynare. If not, see . */ -#ifndef CODEINTERPRETER -#define CODEINTERPRETER +#ifndef _CODEINTERPRETER_HH +#define _CODEINTERPRETER_HH const char FLDZ=0; const char FLDT=1; @@ -61,7 +61,7 @@ enum BlockSimulationType SOLVE_BACKWARD_COMPLETE = 6, //!< Block of several equations, newton solver needed, backward SOLVE_TWO_BOUNDARIES_COMPLETE = 7, //!< Block of several equations, newton solver needed, forward and backwar EVALUATE_FOREWARD_R = 8, //!< Simple evaluation, normalized variable on right-hand side, forward - EVALUATE_BACKWARD_R = 9 //!< Simple evaluation, normalized variable on right-hand side, backward + EVALUATE_BACKWARD_R = 9 //!< Simple evaluation, normalized variable on right-hand side, backward }; //! Enumeration of possible symbol types diff --git a/include/ModelBlocks.hh b/include/ModelBlocks.hh index cb3557b4..94daf995 100644 --- a/include/ModelBlocks.hh +++ b/include/ModelBlocks.hh @@ -17,8 +17,8 @@ * along with Dynare. If not, see . */ -#ifndef MODELBLOCKS -#define MODELBLOCKS +#ifndef _MODELBLOCKS_HH +#define _MODELBLOCKS_HH #include "ModelNormalization.hh" //! Sparse form of the graph, with strongly connected components @@ -32,7 +32,7 @@ typedef struct block_result block_result_t; -//! Implements Tarjan algorithm +//! Computes strongly connected components and converts it to block decomposition class Blocks { public: diff --git a/include/ModelNormalization.hh b/include/ModelNormalization.hh index 5ee55e76..8feaf904 100644 --- a/include/ModelNormalization.hh +++ b/include/ModelNormalization.hh @@ -17,18 +17,20 @@ * along with Dynare. If not, see . */ -#ifndef MODELNORMALIZATION -#define MODELNORMALIZATION +#ifndef _MODELNORMALIZATION_HH +#define _MODELNORMALIZATION_HH #include "SymbolTable.hh" #include "CodeInterpreter.hh" +//! One edge in the bi-partite graph (equation side), stored in a chained-list struct Edge { Edge *next; - int Vertex_Index; + int Vertex_Index; //!< Variable linked to the equation }; +//! Set of the edges going to a given equation struct Equation_vertex { Edge *First_Edge; @@ -36,6 +38,7 @@ struct Equation_vertex int matched; }; +//! Bi-partite graph, seen from the equation side struct Equation_set { Equation_vertex *Number; @@ -50,13 +53,16 @@ struct simple int index; }; +//! Computes the model normalization class Normalization { private: + //! Indicates if a given variable vertex is matched struct Variable_vertex { int matched; }; + //! Data extracted from the bi-partite graph, seen from the variable side struct Variable_set { Variable_vertex *Number;