Commit Graph

100 Commits (6ce31cfea0891c4a3b105461da962a09cc930e15)

Author SHA1 Message Date
Sébastien Villemot 8882f809c3 Introduce a new abstract class for external function nodes.
This fixes the following bugs:

- 1st and 2nd ext fcn deriv nodes were incorrectly added to
  DataTree::external_function_node_map, because of the chaining of
  constructors.

- the following methods of FirstDerivExternalFunctionNode were not overloaded:
  toStatic(), buildSimilarExternalFunctionNode()

- the following methods of SecondDerivExternalFunctionNode were not overloaded:
  toStatic(), buildSimilarExternalFunctionNode(), compile(),
  compileExternalFunctionOutput()
2014-03-13 12:12:17 +01:00
Sébastien Villemot 47a8fd0147 Add line numbers of equations in preprocessor error messages.
Closes #584
2014-01-27 16:41:43 +01:00
Sébastien Villemot 1414f98cff Refactor code for collecting variables appearing in expressions
- rename ExprNode::collectVariables in ExprNode::collectDynamicVariables
- new ExprNode::collectVariables: same as above, but without lag information
- remove ExprNode::findUnusedEndogenous: essentially redundant with the above)
- remove ExprNode::collectModelLocalVariables: idem
2013-11-29 15:37:11 +01:00
Sébastien Villemot e487dab6bb Refuse non-stationary endogenous variables in deflators.
It is not clear what we should do in that case anyways.
2013-10-29 18:47:59 +08:00
Sébastien Villemot bbc422cf5a Fix copyright notices 2013-06-12 17:04:46 +02:00
Sébastien Villemot 75f8467803 Implement tags [static] and [dynamic] for equations
Closes #307
2013-04-11 17:11:35 +02:00
Sébastien Villemot 08c2b6e1c6 Automatic detrending engine can now handle models written in logs (ref. #309)
- new command `log_trend_var'
 - new option `log_deflator' to `var' command
2013-03-26 16:51:17 +01:00
Sébastien Villemot 69a5271db7 Revert spurious preprocessor changes introduced in dfa744f 2013-03-26 16:51:10 +01:00
Ferhat Mihoubi 832c9d37ef - adds new files: Evaluate.cc and Evaluate.hh to bytecode 2013-03-22 16:34:50 +01:00
Sébastien Villemot dc1be70d82 Add derivatives of static model w.r.t. parameters
The new file is <FILENAME>_static_params_derives.m

Closes: #160
2012-11-29 18:07:48 +01:00
Sébastien Villemot 67a1737f00 Update copyright notices 2012-06-08 18:22:34 +02:00
Ferhat 21996d79a8 Corrects a bug in the computation of the number of leads and lags 2012-02-17 10:50:54 +01:00
Ferhat Mihoubi 9cde0585b6 The recursive equations are merged in a recursive block only if they are all backward looking or all forward looking but not both 2011-10-12 14:58:29 +02:00
Michel Juillard 9a4f9203b6 write Latex model: added automatic line breaks with breqn Latex package 2011-10-09 18:24:39 +02:00
Ferhat Mihoubi 6ebc409d03 Correct a bug related to the number of minimum feedback variables reported during the preprocessing step 2011-09-20 15:02:27 +02:00
Houtan Bastani 5dc9092723 cosmetic: simplify jacobianHelper, hessianHelper and sparseHelper functions and fix spacing in dynamic file 2011-08-19 16:59:18 +02:00
Houtan Bastani 31ff8da853 remove unused variables from preprocessor 2011-08-19 16:59:12 +02:00
Sébastien Villemot d2696ca2f0 Preprocessor: factorize code common between StaticModel and DynamicModel, and put it in ModelTree 2011-06-22 11:56:07 +02:00
Houtan Bastani d0d9fde6af bug fix: allow use of external functions with model local variables 2011-04-12 16:42:56 +02:00
Sébastien Villemot 9e898f4eb6 Preprocessor: avoid name clashes with model local variables 2011-02-21 18:26:23 +01:00
Sébastien Villemot d264b7b2e3 Reindentation of the preprocessor 2011-02-04 16:25:38 +01:00
Sébastien Villemot 9e189d6b4d Preprocessor: remove some warnings about comparison of signed with unsigned integers 2011-01-13 19:03:55 +01:00
Sébastien Villemot 8af9e0dd95 Preprocessor: no longer use boost::graph::GraphvizDigraph class, removed in Boost 1.44 (closes #155) 2010-12-13 14:23:04 +01:00
Ferhat Mihoubi 7dc09890fb - Bug correction during the block decomposition: the models' graph was ill oriented before the search of strong components 2010-12-10 15:11:12 +01:00
Ferhat Mihoubi 751c0da2a1 - external functions are compatible with block decomposition and/or bytecode 2010-12-10 12:06:50 +01:00
Ferhat Mihoubi 5702815f97 Correction of bugs in check command with block decomposition and
Add the missing dr_block m-file
2010-11-25 16:10:46 +01:00
Ferhat Mihoubi b781c44e5a Check command is now compatible with block and bytecode options 2010-10-27 15:34:48 +02:00
Houtan Bastani a7fc3361ac trend_var, growth_factor, deflator: stationarize a nonstationary model and test 2010-10-18 16:07:42 +02:00
Houtan Bastani 5327f161d4 external_function: add support for use_dll 2010-10-07 18:05:07 +02:00
Sébastien Villemot 376e25ca67 Preprocessor: no longer crashes when some dynamic variables appear only in
unused model local variables (closes #101)
2010-09-23 12:13:30 +02:00
Ferhat Mihoubi f68e4fd455 - compute the jacobian matrix for exogenous, det_exogenous and previous blocks endogenous
- preprocessor provides informations about the dynamic structure of each block
- extends the algorithms available with bytecode: stack_solve_algo = 1, 2, 3 and 4 is compatible the bytecode. Speed and memory requirement are improved with stack_solve_algo = 1 or 4 for large scale models.
- bytecode can be used to evaluate a model
2010-09-17 12:16:47 +02:00
Sébastien Villemot 2c10d03368 Preprocessor: rename "NodeID" in "expr_t" 2010-09-17 12:13:26 +02:00
Sébastien Villemot c8fdd5d9d1 Preprocessor: uniformize typedef names (with a "_t" suffix) 2010-09-16 19:00:48 +02:00
Sébastien Villemot c3c8fa5cca 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 6f9e0ca1e9 Preprocessor: replace non-standard operators 'and'/'or' by '&&'/'||' 2010-04-28 16:03:32 +02:00
Ferhat Mihoubi a812b0130e The functions erf, normpdf and normcdf work fine with bytecode option 2010-04-16 17:00:05 +02:00
Sébastien Villemot 0f1b58b09b Preprocessor: minor refactoring and documentation of ExprNode::writeOutput() methods 2010-03-09 12:16:32 +01:00
Houtan Bastani 22bdb1a223 Allow temporary terms to work with external functions 2010-03-09 11:21:14 +01:00
Houtan Bastani 9abc7563c1 Add support for external functions 2010-02-23 18:15:18 +01:00
sebastien e0e25fff7d 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 bce6509773 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 f13b95cb87 "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 22000da5ea 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 3aa8876538 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 160ec5d7ca 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 760085d6fe 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 7c7a59e1b8 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 e8d9cbc94a 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 2f1382fab5 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 53f4320809 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