Size: 2647
Comment:
|
← Revision 14 as of 2010-09-27 14:43:27 ⇥
Size: 2272
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* add "elsif" and "switch/case" in macro-language | |
Line 9: | Line 10: |
* handling of functions. Either Matlab functions or user functions not in the list known by the derivator. Also in expressions outside of model definition. [parser] * allow for expression in many places where numerical constant are currently required [parser] |
|
Line 13: | Line 12: |
* trigger numerical differentiation when an unknown function is present in the model [see UnknownFunctions] | |
Line 17: | Line 15: |
* improve error message when dealing with ExprNode::EvalException (in particular for reporting in ModelTree::evaluateJacobian) | * add a check for number of equations and endogenous in the case of Ramsey policy * improve error message when dealing with Expr``Node::Eval``Exception (in particular for reporting in Model``Tree::evaluateJacobian) |
Line 26: | Line 25: |
* add a warning if homotopy_setup block comes after steady | |
Line 37: | Line 37: |
* but it is possible to factorize more complicated expressions: {{{2*x+3*x=(2+3)*x=5*x}}}. The two simplifications aren't identical but strongly related. -- MichelJuillard [[DateTime(2007-05-08T19:53:46Z)]] * for static output file, remove unnecessary temporary terms |
* but it is possible to factorize more complicated expressions: {{{2*x+3*x=(2+3)*x=5*x}}}. The two simplifications aren't identical but strongly related. -- MichelJuillard <<DateTime(2007-05-08T19:53:46Z)>> |
Line 41: | Line 40: |
=== Loose ends === * add C code for normcdf, both for parser evaluation and for DLLs * add normcdf to reference manual * add normpdf |
Todo List
- create a testsuite
Features
- add "elsif" and "switch/case" in macro-language
- add option for number of draw in Metropolis subsamples [parser + Matlab code]
- add option for algorithm to solve generalized Sylverster equation [parser + Matlab code]
- add new function diff(), sum loops and prod loops in modeling language. Should be unrolled. [parser]
Error checking
- add a check for number of equations and endogenous in the case of Ramsey policy
improve error message when dealing with ExprNode::EvalException (in particular for reporting in ModelTree::evaluateJacobian)
- add warning for missing variable in current period. This is permissible in some cases, Michel should write a note about it [parser]
- improve error and warning handling in parser. Find a way that users see Warnings even if scrolling by [parser]
Checks concerning the structure of the mod file
- allow a single histval, endval, initval block
- check that a given parameter is never declared two times
- check that observation trends is used after a varobs
- add a warning if homotopy_setup block comes after steady
Checks concerning the types of variables allowed in expressions
- varobs must be declared endogenous
- shocks must be exogenous
- objective_planner must be endogenous without leads/lags
Optimizations / Enhancements
optimize expression sharing (for example use the fact that A+(B+C) = (A+B)+C); this would also enhance the pre-computing of numerical constants (for the moment, the algorithm can't reduce 1+(x+1))
if there is a series of operators with the same precedence, we can collect the constant and reduce them 1+(x+2}=(1+2)+x=3+x
but it is possible to factorize more complicated expressions: 2*x+3*x=(2+3)*x=5*x. The two simplifications aren't identical but strongly related. -- MichelJuillard 2007-05-08 19:53:46
rewrite outputting system (by using a subclass of ostream containing the output type, and by overloading << operator)
- improve internal representation of estimated_params* statements