Commit Graph

36 Commits (8af9e0dd9587b29fea6b84938fc8c93307c6fe4f)

Author SHA1 Message Date
Houtan Bastani d206217fef 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 eaad0b1263 Preprocessor: various cleanups related to the signed vs non-negative numerical constants issues 2010-11-25 13:45:35 +01:00
Sébastien Villemot 615f2ae322 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 0782dd57e3 add preprocessor simplification rule 2010-10-18 15:51:07 +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 2906c63f48 Preprocessor: removed useless version of DataTree::AddVariable() 2010-04-23 18:32:25 +02:00
Sébastien Villemot 5364cdea25 Preprocessor: removed useless version of DataTree::AddExternalFunction() 2010-04-23 18:32:19 +02:00
Sébastien Villemot d8dcfa131e Preprocessor: changed the prototype of DataTree::AddLocalVariable() 2010-04-23 18:32:14 +02:00
Houtan Bastani 9c2e06a091 Added erf as an internally supported function and updated manual. 2010-03-11 12:00:37 +01:00
Houtan Bastani 50258dae49 Added normpdf as an internally supported function and updated manual. 2010-03-11 10:16:40 +01:00
Houtan Bastani 52cbb40775 Added expression sharing for external functions 2010-03-03 11:43:22 +01:00
Houtan Bastani 9abc7563c1 Add support for external functions 2010-02-23 18:15:18 +01:00
Sébastien Villemot e70d899c66 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 e616667f75 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 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 5568e622b8 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 e45d3a4cb2 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 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
houtanb 0973dd9fa4 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 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
houtanb 5591a412a8 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 9179ebe4cf 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 3f7d1bd6a3 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 331edd8d92 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 90e8fbda8b 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 51378821aa 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 7fa0d9722d 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 80aa9562ec 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 a0fbd7d198 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 1740884d1d 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 9d0d9f0f83 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 813e46ed73 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 48bc89a90a 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 f43efe0c12 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 2a69caa17b 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