Commit Graph

36 Commits (d9b9360a814f06bfaa76a758aeed3f12da3f2ee8)

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 771b4e766c Preprocessor: various cleanups related to the signed vs non-negative numerical constants issues 2010-11-25 13:45:35 +01:00
Sébastien Villemot 4a252d8d7c Histval block:
- fail when user tries to initialize a variable at a period which is not in the model, and make the error message explicit
- correctly handle exogenous variables in stochastic mode, which are also substituted with an aux var
- added test files
2010-10-20 14:47:03 +02:00
Houtan Bastani bcc590aafa add preprocessor simplification rule 2010-10-18 15:51:07 +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 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
Sébastien Villemot 4b96b35dad Preprocessor: changed the prototype of DataTree::AddLocalVariable() 2010-04-23 18:32:14 +02: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
Houtan Bastani 4f6a3669c6 Added expression sharing for external functions 2010-03-03 11:43:22 +01:00
Houtan Bastani 12c4a52ebc Add support for external functions 2010-02-23 18:15:18 +01:00
Sébastien Villemot eba049899e Preprocessor:
* in DataTree, new functions for testing if some opcode (unary, binary or trinary) is used somewhere in the tree
* removed DataTree::containsSteadyState(), rather use a call to the new utility function
2010-02-23 16:45:56 +01: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 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
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
houtanb b765264621 fixes global oo_ declaration for steady state operator as discussed on 14 Sep
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3020 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 18:36:07 +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
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
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 a7e32f5025 trunk preprocessor: added two more symbolic simplication rules, particularly useful for the static model
* x-x=0
* x/x=1


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2640 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-28 16:04:29 +00:00
sebastien d55470ca88 trunk preprocessor: cosmetic changes
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2614 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 15:54:19 +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 03ce535f04 trunk preprocessor:
* enforce lag=0 for DataTree and StaticModel
* various minor and cosmetic changes


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2596 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-16 10:33:30 +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
sebastien a3485ac69a trunk preprocessor: added new "change_type" command
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2452 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-03-11 11:43:18 +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 e98844dc61 trunk preprocessor: allow arbitrary expressions (and not just constants) in estimated_params, estimated_params_init and estimated_params_bounds blocks
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2368 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-22 15:05:38 +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 cc64a40ac7 trunk preprocessor: renamed "Type" to "SymbolType" for the sake of clarity
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2166 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-10-17 10:20:19 +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
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