Commit Graph

89 Commits (befa1b966b6feaef7de4820522f50400373dd6b9)

Author SHA1 Message Date
Houtan Bastani 641f03b8d0 fixed bug that would force node sharing when two or more expectation operators had the same expression but different information sets 2010-12-08 12:29:47 +01:00
Sébastien Villemot d4520da481 Preprocessor: fix bug with varexo_det in conjunction with USE_DLL 2010-12-08 11:33:20 +01:00
Sébastien Villemot 771b4e766c Preprocessor: various cleanups related to the signed vs non-negative numerical constants issues 2010-11-25 13:45:35 +01:00
Houtan Bastani 894155be88 trend_var, growth_factor, deflator: stationarize a nonstationary model and test 2010-10-18 16:07:42 +02:00
Houtan Bastani 078574ee4a external_function: add support for use_dll 2010-10-07 18:05:07 +02:00
Houtan Bastani c19df582e0 external_function: modified to pass functions as string names as opposed to function handles to reduce number of calls to mexCallMatlab when use_dll option is invoked 2010-10-07 16:49:36 +02:00
Sébastien Villemot 648c3cd177 Preprocessor: implement STEADY_STATE operator with "use_dll" and "block"
options (closes #98)
2010-09-20 17:04:38 +02:00
Ferhat Mihoubi 60f7678669 - Substitutes lead for exogenous and endogenous variables in the deterministic case: direct substitution of the variables even in non-linear expressions 2010-09-17 12:17:09 +02:00
Ferhat Mihoubi 0a3c8a4b0c - 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 dbc9795a08 Preprocessor: rename "NodeID" in "expr_t" 2010-09-17 12:13:26 +02:00
Sébastien Villemot 25cf12f4f1 Preprocessor: uniformize typedef names (with a "_t" suffix) 2010-09-16 19:00:48 +02:00
Sébastien Villemot 46b896e987 Preprocessor:
- remove useless output type oMatlabDynamicModelSparseLocalTemporaryTerms
(indistinguishable from oMatlabDynamicModelSparseLocal)
- fix bug in output type of sparse static model
2010-09-16 16:57:35 +02:00
Sébastien Villemot e5ce0264bf Preprocessor: when removing lags greater than 2 on endogenous or lags on exogenous, don't substitute model local variables that do not need to 2010-08-19 15:20:54 +02:00
Sébastien Villemot c4ef68b293 Preprocessor: fixed bug (substitution was incorrectly done with leads on exogenous) 2010-06-11 19:21:03 +02:00
Sébastien Villemot 49389592e7 Preprocessor: never set an equal node as a temporary term 2010-05-05 10:10:01 +02:00
Sébastien Villemot 37abe362a3 Preprocessor: added new 'steady_state_model' keyword for automatically creating steady state file 2010-04-23 18:39:07 +02:00
Sébastien Villemot e2c0854cd4 Preprocessor: removed useless version of DataTree::AddVariable() 2010-04-23 18:32:25 +02:00
Sébastien Villemot 12ca3fe707 Preprocessor: removed useless version of DataTree::AddExternalFunction() 2010-04-23 18:32:19 +02:00
Ferhat Mihoubi f849b11563 The functions erf, normpdf and normcdf work fine with bytecode option 2010-04-16 17:00:05 +02:00
Houtan Bastani 2c1af4dc3b bug fix: missing break in switch statement 2010-03-15 15:59:54 +01:00
Houtan Bastani 380ced7673 minor code cleanup. 2010-03-11 12:04:06 +01:00
Houtan Bastani 1c3f7b83e5 Added erf as an internally supported function and updated manual. 2010-03-11 12:00:37 +01:00
Houtan Bastani 5d45bf947d Added normpdf as an internally supported function and updated manual. 2010-03-11 10:16:40 +01: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 4f6a3669c6 Added expression sharing for external functions 2010-03-03 11:43:22 +01:00
Houtan Bastani 28894927dd Modified external functions to enforce consistent number of function arguments within model_block 2010-03-03 11:40:13 +01:00
Houtan Bastani 12c4a52ebc Add support for external functions 2010-02-23 18:15:18 +01:00
Sébastien Villemot 7b8166043e Preprocessor: full support for normcdf() function, in evaluation and in C files (closes #84) 2010-02-23 14:39:49 +01: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
houtanb 77897d691e expectation conditional on a restricted information set
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3367 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-18 22:08:44 +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 76e691c651 preprocessor:
* fixed a bug with EXPECTATION operator: now handle model local variables
* substitute EXPECTATION operator even in deterministic models (for avoiding crashes, even if use of this operator doesn't make sense there)
* forbid the use of EXPECTATION and STEADY_STEATE outside model block
* minor implementation changes in EXPECTATION and STEADY_STATE operators

reference manual:
* documented EXPECTATION and STEADY_STATE operators
* added a note in write_latex_{static,dynamic}_model commands documentation about auxiliary variables and other model transformations


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3145 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-09 15:13:47 +00:00
sebastien af732433d7 predetermined_variables:
* reworked a little bit the implementation
* documented the command in the reference manual
* added a test


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3143 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-09 11:03:18 +00:00
houtanb 26185780ac implements predetermined_variables operator
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3137 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-07 18:37:11 +00:00
sebastien 28a9a11878 preprocessor: cosmetic changes
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3134 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-06 18:19:52 +00:00
sebastien 31ed196c44 Various minor changes for compatibility with MS Visual C++ and GCC 4.4
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3105 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-30 16:29:16 +00:00
houtanb c6ae95e084 changed expectation operator from BinaryOpNode to UnaryOpNode
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3102 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-30 05:21:54 +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
ferhat 3c2d944cfc - use of classes to describe the bytecode tags
- use static option for bytecode instead of steady_state option

git-svn-id: https://www.dynare.org/svn/dynare/trunk@3048 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-16 16:34:27 +00:00
sebastien 9a673167f8 preprocessor:
* fixed substitution of endogenous with leads >= 2: take into account exogenous with leads in non-linear terms
* fixed substitution of exogenous with leads: take into account other variables with leads in non-linear terms


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3027 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 16:34:42 +00:00
sebastien c84df1aace preprocessor: in stochastic mode, create auxiliary variables for exogenous with non-zero lead/lag
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3026 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 14:07:13 +00:00
ferhat f7d69ff58c avoid useless iteration in simulation of simple equations
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3025 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 09:31:58 +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
ferhat 4dff75d79c - the "steady_state" function is implemented with the "bytecode" option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2952 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 16:34:11 +00:00
sebastien 992370edff * Fix the STEADY_STATE operator for LaTeX output
* Allow the STEADY_STATE operator to work with exogenous/exogenous_det with non zero lead/lag
* Other cosmetic changes


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2917 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-11 09:16:52 +00:00
houtanb e08fa1f618 added steady_state operator to preprocessor
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2916 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-10 20:09:16 +00:00