Commit Graph

118 Commits (943db6fb24d9e4b01f31d084696bb8aec9010ff4)

Author SHA1 Message Date
Sébastien Villemot 25cf12f4f1 Preprocessor: uniformize typedef names (with a "_t" suffix) 2010-09-16 19:00:48 +02:00
Sébastien Villemot 3c57d73120 Preprocessor: clean prototypes of ModelTree methods (removed arguments
redundant with data members, added const keywords, use passing-by-reference)
2010-09-16 17:51:50 +02:00
Sébastien Villemot 49bdcef648 Preprocessor: replace non-standard operators 'and'/'or' by '&&'/'||' 2010-04-28 16:03:32 +02:00
Ferhat Mihoubi f849b11563 The functions erf, normpdf and normcdf work fine with bytecode option 2010-04-16 17:00:05 +02:00
Sébastien Villemot 35a20551a6 Preprocessor: minor refactoring and documentation of ExprNode::writeOutput() methods 2010-03-09 12:16:32 +01:00
Houtan Bastani 30ea396a08 Allow temporary terms to work with external functions 2010-03-09 11:21:14 +01:00
Houtan Bastani 12c4a52ebc Add support for external functions 2010-02-23 18:15:18 +01:00
sebastien f8f57d8d8c preprocessor: added missing header
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3391 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-28 14:18:40 +00:00
ferhat b5727e0658 Adds location indications in error message of "bytecode" + minor correction (string passed as &string).
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3374 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 16:42:08 +00:00
ferhat 0efd5b1621 "bytecode" option can be used without "block" option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3373 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 10:03:29 +00:00
sebastien 0011678cb5 Changes by Ferhat:
* fix options stack_solve_algo={2,3,4} (closes #68)
* fix crashes for singular normalizations (closes #44) and implement decreasing cutoff
* fail for stack_solve_algo=2 under Octave (because there is no gmres function in Octave)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3279 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-21 10:29:21 +00:00
sebastien e6f1a53e60 Beautified preprocessor code (uncrustify + emacs + manual adjustments, in particular with templates in MacroValue)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3249 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:13:23 +00:00
sebastien aa23ed73e9 preprocessor + bytecode DLL: various enhancements to block and bytecode options (changes by Ferhat)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3244 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 13:21:31 +00:00
sebastien ffd9b2d405 preprocessor: clean-up workaround for acosh(), asinh(), atanh() on Win 64 platforms
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3101 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-29 17:16:10 +00:00
sebastien 522de968d0 preprocessor: reverted useless changes from last commit
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3016 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 17:02:35 +00:00
ferhat ece194b602 The local variables are implemented with byte code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3015 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 16:47:43 +00:00
sebastien 97cb944831 preprocessor:
* In stochastic mode, now transforms the model by removing leads and lags greater or equal to 2 (creating auxiliary variables and equations in the process)
* Information about these variables is in structure M_.aux_vars
* Automatically add the necessary initialization for auxiliary vars after the initval block or load_params_and_steady_state


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3002 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-30 15:10:31 +00:00
sebastien 9a1339ad11 Added support for equation tags (thanks to Pablo for providing a patch)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2880 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 14:37:59 +00:00
ferhat 45c28cadc2 - minor modifications in Reorder_the_recursive_variables prototype
- no function comment in MinimumFeedbackSet.cc
- writeChaineRuleDerivative in DynamicModel.cc instead of ModelTree.cc


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2836 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-10 15:37:51 +00:00
ferhat d19ccced9a - Complete implementation of feedback variables in dynamic model with sparse option
- Normalization of linear in endogenous variable equations 

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2834 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-10 15:05:09 +00:00
sebastien b0f252c2f4 Some restructurings in the preprocessor:
* StaticModel: dropped creation of C file in USE_DLL mode
* StaticModel: added computation of derivatives for block MFS mode
* DynamicModel: catch error codes of mkdir()
* ModelTree: moved "mode" member variable to DynamicModel
* ModFile::writeOutput(): moved manipulations relative to dynamic model file to DynamicModel


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2818 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-07 14:20:48 +00:00
sebastien 479f3340f7 Preprocessor: various minor changes, including
* moved some declarations from ExprNode.hh to BlockTriangular.hh to which they conceptually belong
* replaced non standard boolean operators (and, or, not) by standard ones (&&, ||, !)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2812 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-06 10:36:36 +00:00
sebastien e7c9ec55e9 trunk preprocessor: fixed bug with sparse Hessian and USE_DLL
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2793 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-06-29 09:27:09 +00:00
michel 33b9537149 v4.1: added to preprocessor int NNZDerivatives[3] with number of non-zeros derivatives at order 1, 2, and 3
used it to initialize sparse g2 and g3 in Matlab <modfile>_dynamic.m


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2668 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-05-12 20:32:27 +00:00
sebastien 44c864f9f7 trunk preprocessor: added new statements "write_latex_dynamic_model" and "write_latex_static_model" which list model equations in LaTeX code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2654 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-30 13:14:33 +00:00
sebastien 84ba1aff7c trunk preprocessor: use assert() function at several places
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2642 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-28 16:21:39 +00:00
sebastien b775f1812c trunk preprocessor:
* added support for derivatives of Hessian w.r. to parameters
* added "identification" command which does nothing for the moment, except triggering those derivatives w.r. to params


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2613 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 13:58:15 +00:00
sebastien f7c97fcebe trunk preprocessor: restructuring the way we decide which derivatives to compute
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2610 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 10:48:54 +00:00
sebastien 4bb5ce9b86 trunk preprocessor: restructuration of the code before adding derivatives w.r. to parameters (in particular, removed VariableTable, and replaced it by a system of derivation IDs)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2597 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-17 16:26:23 +00:00
sebastien 6dc870727d trunk preprocessor:
* created a distinct expression tree for the static model (thus giving better sharing of sub-expressions and better computation of temporary terms for the static model)
* for that purpose, created StaticModel and DynamicModel classes (ModelTree still persists, but only contains code shared between StaticModel and DynamicModel)
* removed sparse static file (to be later replaced by new algorithm for steady state computation on large models)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2592 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-14 14:39:53 +00:00
ferhat ee64d9abac The sparse option in model is now compatible with homotopy => preprocessor commit
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2588 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-10 16:56:27 +00:00
sebastien c00e5ac992 trunk: fixed bug with USE_DLL and second order (Hessian matrix was not sparse)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2572 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-09 10:07:37 +00:00
sebastien 433d3c9d13 trunk preprocessor: removed underscore in Model_Graph.{cc,hh}
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2460 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-03-13 13:48:30 +00:00
ferhat b6636fc799 modifications in sparse options to support the new variable indexation
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2458 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-03-13 13:33:09 +00:00
sebastien 4005d25f25 trunk preprocessor:
* reorganized symbol table so that internally symbols have a unique integer ID (as a result, sparse code is temporarily in a broken state)
* rewritten from scratch ModFile::evalAllExpressions()
* {load,save}_params_and_steady_state moved to NumericalInitialization.{cc,hh}
* fixed bug related to endval block


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2441 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-02-27 12:19:25 +00:00
sebastien 723b260f9f trunk preprocessor: automatic reindentation of all code with emacs
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2372 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-23 10:59:37 +00:00
sebastien 2495aca72a trunk:
* updated copyright headers of all files modified since January 1st: the copyright notice now encompasses 2009
* fixed various other copyright header issues


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2364 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-21 14:39:24 +00:00
ferhat 4fe7e3e155 - SymbolGaussElim.cc is discarded from the preprocessor (all simulations are now implemented in simulate)
- Correction in model_info.m

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2358 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-20 22:04:37 +00:00
ferhat b18d8ae275 - forgotten files in the previous upload: MatlabFile.cc and MatlabFile.hh
- temporary terms computed just before the equation where they appeared => important for "evaluated blocks" where temporary terms depend on endogenous computed in the block

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2351 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-02 13:00:43 +00:00
ferhat a0bbe27b95 Load_params_and_steady_state is now a dynare command -> needed to normalize the equations.
-> MatlabFile.cc and MatlabFile.hh are added to dynare in order to read the Mat-File

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2349 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-31 19:29:17 +00:00
ferhat 487afce68d - corrections of few bugs in local model variable with sparse option
- simplifications of model blocks management in Modeltree
- corrections of the temporary variables management with sparse option

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2341 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-24 15:49:01 +00:00
ferhat 5eead4dfa9 - corrections of bugs in exprnode and with solve_two_boundaries_simple type
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2333 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-19 16:24:22 +00:00
ferhat 29ca49f885 - Correction of several bugs in sparse_dll
- Pound expressions accepted with sparse option


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2329 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-19 10:24:31 +00:00
ferhat 26ae037863 - factorization of simulation methods for static m-file
- correction of bugs in resid.m

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2280 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-02 21:29:43 +00:00
sebastien ad9ac0a311 trunk preprocessor: compilation fix for Linux/Unix systems
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2270 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-24 10:55:37 +00:00
ferhat 23de7b250a - factorization of simulation methods in dynamic m-file
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2266 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-21 17:40:52 +00:00
ferhat 0b0f0704c4 Correction of few bugs in IncidenceMatrix, BlockTriangular and ModelTree
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2258 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-16 18:02:52 +00:00
ferhat af27f63392 - separated file for the IncidenceMatrix class
- List of incidence matrix handled with a map instead of a chained list

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2257 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-14 20:12:59 +00:00
ferhat f904a1a19d - new Incidence_Matrix class
- lead and lag on exogenous variables
- corrections in dr1_sparse and dr11_sparse
- minor corrections in simulate

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2255 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-14 16:07:47 +00:00
sebastien 8bbc105fba trunk preprocessor: for better compliance with C standard:
* replaced all occurrences of "exit(-1)" by "exit(EXIT_FAILURE)"
* return EXIT_SUCCESS at the end of main()


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2229 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-29 15:33:16 +00:00
sebastien 342f32b59c trunk preprocessor: added option "notmpterms" to dynare command, for disabling temporary terms in static and dynamic files
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2226 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-29 15:10:51 +00:00
ferhat 7c6ed357b6 Bugs correction in check command with sparse option in model command
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2196 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-24 16:35:06 +00:00
sebastien 3594aebd43 trunk preprocessor/ModelTree.cc:
* fixed compilation problem related to temporary integer
* removed unused variable


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2179 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-19 16:21:05 +00:00
ferhat f59bba3ddc - Adding SOLVE_FORWARD_COMPLETE and SOLVE_BACKWARD_COMPLETE simulation type for sparse model option
- Adding dyn2vec at the end of a deterministic simulation with sparse or sparse_dll option

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2178 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-19 15:44:08 +00:00
sebastien d46c423c6e trunk preprocessor: removed LCC_COMPILER and GCC_COMPILER options of SPARSE_DLL mode
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2177 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-17 17:21:22 +00:00
ferhat 8aab45ce5d Suppress the addpath command before the call to Bicgstab
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2174 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-17 15:30:47 +00:00
sebastien 59fad3df56 trunk preprocessor: removed unused recursive variable type
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2167 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-17 11:54:35 +00:00
ferhat 6a3d20452b Minor corrections:
- Bug in check.m with model without sparse options
- Display in simulate.dll
- "Model_InfoStatement" renamed "Model_InfoStatement" in ComputingTasks

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2010 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-29 12:31:25 +00:00
ferhat 3f047dab9c - Bugs and memory leak correction
- implementation of model_info command

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2007 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-28 13:20:34 +00:00
ferhat 3bcff08e87 - Bugs corrections in deterministic simulation with sparse option
- Check allowed with sparse option
- New command "MODEL_INFO" providing informations about the block structure of the model
- Memory leak corrections

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1993 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-25 15:06:36 +00:00
sebastien ba45419c70 v4 preprocessor:
* fixed bug related to column numbering of exogenous variables in dynamic jacobian
* gave more explicit names to some methods in VariableTable, and other cosmetic changes


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1990 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-24 10:54:20 +00:00
sebastien 5ef425857a v4 preprocessor mex: various minor fixed to ensure correct compilation under g++ 4.3
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1906 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-06-28 11:20:45 +00:00
sebastien 120d412152 v4: dropped Scilab support
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1878 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-06-16 16:33:28 +00:00
sebastien 75fb140b5c v4 matlab+preprocessor:
* removed global variables from "static" and "dynamic" files (in standard and USE_DLL modes only)
* added extra arguments when those functions are called from M-files


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1859 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-06-06 14:01:02 +00:00
sebastien 1e6b15f042 v4 preprocessor: rewrote ExprNode::collectEndogenous()
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1778 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-04-03 14:47:39 +00:00
sebastien efed83f793 v4 preprocessor: catch evaluation error in ModelTree::evaluateJacobian to avoid abrupt program exiting
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1776 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-04-02 15:18:51 +00:00
sebastien dba0205e1c v4 preprocessor mex/sources/simulate: replaced C headers by their C++ counterpart
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1712 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-19 14:35:59 +00:00
michel ba0b58dfab v4: changing name of preprocessor directory
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1686 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-03 10:28:36 +00:00