Commit Graph

175 Commits (915bea91a101ba009f30387d02cc3c1cbd0d9698)

Author SHA1 Message Date
Houtan Bastani 915bea91a1 preprocessor: output JSON after different steps, write static, dynamic, params derivs files in JSON. #1387 2017-02-24 17:43:22 +01:00
Houtan Bastani 64642d928c preprocessor: write JSON output. #1387 2017-02-06 17:41:18 +01:00
Houtan Bastani bb6ad83e72 preprocessor: external_function: add comma to function output args 2016-08-25 15:35:32 +02:00
Houtan Bastani 01552008ba preprocessor: issue error when exogenous included in planner_objective. closes #1264 2016-08-12 11:50:57 +02:00
Houtan Bastani 4462591347 fix copyright dates 2016-05-04 16:05:31 +02:00
Michel Juillard f6f4ea70fb skipt expectation operator in substitution of auxiliary variables 2016-04-01 18:45:19 +02:00
Michel Juillard 1b4f68f934 replacing auxiliary variables by their definition
in static model. Doesn't work right yet.
2016-04-01 18:45:19 +02:00
Stéphane Adjemian (Hermes) 0f794948ff Merge branch 'temporary_terms'
Do not evaluate unnecessary temporary variables (for instance those
used in the evaluation of the jacobian matrix when we only compute the
residuals of the dynamic equations).
2016-03-09 17:53:58 +01:00
Houtan Bastani de0ce35ee3 preprocessor: add equation cross references 2015-12-18 15:17:32 +01:00
Michel Juillard 294cf81d8b fixed another bug in col_id computation 2015-09-20 15:46:17 +02:00
Houtan Bastani f2069a345a preprocessor: quick fix for #263 2015-09-07 15:56:37 +02:00
Houtan Bastani 0f75ddbd64 replace cend with end and cbegin with begin 2015-09-03 16:06:37 +02:00
Houtan Bastani 13be25314e preprocessor: rework temporary terms 2015-09-03 15:25:36 +02:00
Houtan Bastani 4e7aa84fee raise cost of oPowerDeriv to always create a temporary variable if it has been encountered at least twice 2015-09-03 14:25:17 +02:00
Houtan Bastani b600930b2f preprocessor: fix bug in calculation of cost of trinary ops 2015-09-03 12:01:01 +02:00
Houtan Bastani 82cee99723 temp 2015-09-02 18:50:09 +02:00
Houtan Bastani 2618211859 preprocessor: julia: print only those temporary vars needed for the computation of (residuals, g1, g2, g3) in the respective dynamic! and static! functions
(cherry picked from commit eb2890d1f58f2285306821c85fa631b865fb80b6)
2015-09-02 15:30:25 +02:00
Houtan Bastani 7c28c672a4 Revert "preprocessor: julia: print only those temporary vars needed for the computation of (residuals, g1, g2, g3) in the respective dynamic! and static! functions"
This reverts commit eb2890d1f58f2285306821c85fa631b865fb80b6.
2015-09-02 15:29:52 +02:00
Houtan Bastani 7f014b94df preprocessor: julia: print only those temporary vars needed for the computation of (residuals, g1, g2, g3) in the respective dynamic! and static! functions 2015-09-01 18:29:10 +02:00
Houtan Bastani 7cc90013cd Merge branch 'julia' 2015-09-01 11:35:16 +02:00
Michel Juillard a538e29f1e expand extended preprocessor + first implementation of Petsc interface 2015-08-27 10:00:51 +02:00
Houtan Bastani 3bf6b14049 change getPowerDeriv to get_power_deriv to accord with Julia function naming style 2015-08-18 15:49:48 +02:00
Houtan Bastani 789d881cca write steady state model 2015-07-28 17:27:56 +02:00
Houtan Bastani dc955b56ee fix writing for julia 2015-07-27 17:33:22 +02:00
Houtan Bastani 2bb2682b50 write dynamic file 2015-07-27 17:02:51 +02:00
Houtan Bastani f3c14ec396 write static model 2015-07-27 15:33:38 +02:00
Houtan Bastani 4102e0cc56 Revert "Merge branch 'rmExtraExo'"
This reverts commit 28ffa9c56fd021cc75415aeafc13d3810d1b3132, reversing
changes made to 60b3577a09f3eb9cf3cc590241343b1f0fee8706.

Conflicts:
	preprocessor/Shocks.cc
	preprocessor/SymbolTable.cc
2015-06-09 16:42:51 +02:00
Houtan Bastani 6d727f534e Merge branch 'rmExtraExo' 2015-05-28 12:33:56 +02:00
Houtan Bastani 0a2f09566f preprocessor: add new field orig_expr for expectation aux vars, closes #773 2015-05-26 15:47:56 +02:00
Houtan Bastani 6a37dc9e21 Merge branch 'master' into rmExtraExo 2015-05-18 17:16:55 +02:00
Houtan Bastani ec82663580 preprocessor: external functions bug fix: fixes the case where an external function is contained in a local variable that’s used in an equation with leads/lags that require auxiliary equations. Closes #916 2015-05-12 16:39:10 +02:00
Houtan Bastani dbf2e0e379 preprocessor: organize external function code 2015-05-11 17:09:29 +02:00
Houtan Bastani 96a5949d9e preprocessor: remove extraneous varexo, update model and statements, #841 2015-03-06 16:44:17 +01:00
Houtan Bastani 4ba729fdd6 preprocessor: new command write_latex_original_model. closes #657 2015-02-16 08:31:30 +01:00
Houtan Bastani 2ca0dec650 Revert "preprocessor: replace oo_.exo_steady_state with steady_state_x, #825"
This reverts commit 2bb97a90d6a346244ca992b9caff6e4c55dd7f66.
2015-01-14 15:14:57 +01:00
Houtan Bastani 1fab5cbdd4 preprocessor: replace oo_.exo_steady_state with steady_state_x, #825 2015-01-14 15:13:48 +01:00
Sébastien Villemot 56e1ed2f12 Fix STEADY_STATE operator for model local variables.
Thanks to Tom Holden for spotting the bug.
2014-08-12 18:53:55 +02:00
Sébastien Villemot bd2405e292 Fix crash when the model contains 1st or 2nd ext fcn deriv nodes.
In the case where the external function computes itself its derivatives, the
TEF terms were not always created before being used, hence leading to a
preprocessor crash. This problem could only happen with ramsey_policy, because
otherwise the model does not contain derivatives of external functions.
2014-03-13 12:27:13 +01:00
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 ca7fe60252 Cosmetic renaming for consistency between DataTree method names. 2014-03-11 18:56:48 +01:00
Sébastien Villemot 140db861d5 Implement cloneDynamic() for {First,Second}DerivExternalFunction.
Since the method was not implement, the method of the parent class was used.
This was leading to wrong results in the context of Ramsey Policy (basically
derivative operators on external functions were dropped from FOCs).
2014-03-11 18:56:48 +01:00
Sébastien Villemot 0612bca00f Remove spurious test. 2014-03-11 18:56:48 +01:00
Sébastien Villemot 380df90748 Fix output of external functions (and their derivatives) in LaTeX. 2014-03-11 15:31:08 +01:00
Sébastien Villemot b1d7f8f223 Fix bug in external functions introduced in 711a4f62. 2014-02-25 16:45:55 +01:00
Sébastien Villemot dab2dde8af Small improvements to external functions code. 2014-02-24 17:27:34 +01:00
Michel Juillard 6e0ef026ac write C++ version of model functions without temporary terms 2014-02-24 13:33:48 +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 74ad93e0f4 Remove select1st (GNU extension), replace it by a call to boost::bind 2013-11-05 18:13:29 +01:00
Houtan Bastani 76714b34df new nostrict command-line option does not exit when there are more endogenous than equations (closes #2) 2013-09-13 14:44:01 -04:00
Sébastien Villemot 55a548282c Possibility of restricting differentiate_forward_vars to some variables
Closes #351
2013-05-17 16:53:15 +02:00