Stéphane Adjemia (Scylla)
bfd93f4ac0
Fixed estimated_params_init behaviour...
...
... when an initial value is given to a parameter that is not
estimated.
The generated driver file was crashing with cryptic error message
because we were searching in the first (and second) column of a
potentially empty array with 0 columns. The fix is to initialize the
fields of estimated_params_ with empty arrays with 10 columns (ie
zeros(0, 10)). Also print a message in the matlab command window if
parameter declared in estimated_params_init is not estimated.
2018-10-25 10:24:25 +02:00
Houtan Bastani
bef7c2a193
remove need to declare equations nonstationary
2018-10-24 16:04:51 +02:00
Houtan Bastani
9968f5c971
fix bug in JSON output: JSON values that are decimals must be preceded by a 0
...
e.g. 0.5 is valid but .5 is not.
2018-10-23 14:00:36 +02:00
Houtan Bastani
9eaf39235e
write aux_unary_op function to output
2018-10-15 12:04:53 +02:00
Houtan Bastani
55b625b016
undiff expansion of var_expectation
2018-10-12 15:21:03 +02:00
Sébastien Villemot
1089a223c4
Clean up default constructors/destructors
2018-10-11 17:08:44 +02:00
Sébastien Villemot
ac94ad906e
Various fixes for silencing errors and warnings under Clang 6
2018-10-11 11:21:58 +02:00
Sébastien Villemot
bcdfb43fd3
Replate DynamicModel::toStatic() by a converting constructor in StaticModel
...
It is therefore now possible to write:
static_model = static_cast<StaticModel>(dynamic_model);
2018-10-10 17:08:54 +02:00
Sébastien Villemot
0e7d831e6f
Remove redundant private keyword
2018-10-10 17:08:10 +02:00
Sébastien Villemot
52ce0d8ba9
Fix bug with discretionary_policy
...
Since, in this case, there are less equations than endogenous, the
variable_reordered structure was not filled with enough element, leading to an
invalid memory read when printing M_.state_var.
Ref #637
2018-10-10 17:08:01 +02:00
Sébastien Villemot
63a5ffb761
Rename ExprNode::cloneDynamic into ExprNode::clone, for clarity
2018-10-10 13:08:11 +02:00
Sébastien Villemot
24f1276b42
Make all DataTree::*_map private
...
Introducing a new DataTree::getVariable() const method was necessary in the process.
2018-10-10 13:03:52 +02:00
Sébastien Villemot
f2cf86b734
Add copy constructors / assignment operators for the DataTree class hierarchy
...
In particular, it is necessary to turn back DataTree::AddVariable() into a
non-virtual method, because it is called from DataTree's constructor. Enforcing
the absence of leads/lags is now done using a new boolean DataTree::is_static.
Take advantage of the new copy constructor for handling
PlannerObjectiveStatement more elegantly.
Unfortunately it is not possible to implement *move* constructor / assigment
operators, because the reference ExprNode::datatree is not mutable.
2018-10-10 12:53:55 +02:00
Sébastien Villemot
215283005e
No longer store symbol type in VariableNode
...
This facilitates switching variable types on the fly. In particular, this
allows removing the hack in DynamicModel::updateAfterVariableChange() that way
basically recreating all the nodes after the type change.
2018-10-10 12:34:05 +02:00
Sébastien Villemot
c47b6e6e4c
Fix bug with notmpterms option
...
Commit c6cb9aa1b8
was not the right fix.
2018-10-05 17:14:27 +02:00
Sébastien Villemot
9043efab32
Replace "class" by "typename" in template declarations
2018-10-04 18:08:19 +02:00
Sébastien Villemot
6d26dc2349
Remove implicitly-defined copy/move constructors/assignments in several classes
2018-10-04 18:08:17 +02:00
Sébastien Villemot
7bb5382428
Always use brace-initializer in constructors
...
The syntax makes clearer the distinction between a function call and an
initialization. Also, it prevents bugs due to implicit type conversions.
2018-10-04 17:19:18 +02:00
Sébastien Villemot
a4aefb4c65
Mark all constructors taking a single argument as "explicit"
...
For a rationale, see http://www.sjbrown.co.uk/2004/05/01/always-use-explicit/
2018-10-04 17:19:18 +02:00
Stéphane Adjemian (Charybdis)
ec872e63fd
Cosmetic change.
2018-10-04 16:54:57 +02:00
Sébastien Villemot
38f13eb0ad
Remove nonsensical check on MS Visual C++ version
...
The check is done at the time the preprocessor is compiled, but it ought to be
done at the time when the C source file generated by the preprocessor is compiled…
Anyways, it is probably irrelevant now, since MSVC has supported
acosh/asinh/atanh for a long time now.
2018-10-02 18:23:39 +02:00
Sébastien Villemot
48940ff899
Convert SvarRestrictionType into a class enum
2018-10-02 18:15:31 +02:00
Sébastien Villemot
3f26933f44
Replace ExternalFunctionSetOrNot enum by integer constants
...
This was not conceptually an enum, but rather a collection of unrelated
constants:
- two constants for use as placeholder for symbol IDs at different places
- one constant for the default number of arguments
2018-10-02 18:10:12 +02:00
Sébastien Villemot
5e6b8f0a6b
No longer test for __MINGW32__ macro, testing for _WIN32 is enough
...
Closes : Dynare/dynare#1315
2018-10-02 16:50:07 +02:00
Sébastien Villemot
15d026e54e
C output: split generated function into several smaller subfunctions
...
This mimicks the structure of M-functions (though the logic for filling the
temporary terms vector is a bit different).
This change implied a modification in the way we compute the checksum in case
of block decomposition (the temporary terms for the C output are not correctly
computed in that case).
2018-10-01 16:04:01 +02:00
Sébastien Villemot
42e31ad6e1
Ensure that linear_decomposition is false by default
2018-10-01 10:52:19 +02:00
Ferhat Mihoubi
139e3efa82
Adds a new model option "linear_decomposition" that creates a block composed of the non-linear equations o the model
2018-09-28 14:54:52 +02:00
Michel Juillard
680fb72d0d
allowing for different number of periods in conditional_forecast_path
2018-09-27 15:19:30 +02:00
Houtan Bastani
63a334cfd3
fix typo
2018-09-27 10:47:13 +02:00
Sébastien Villemot
c6cb9aa1b8
Fix bug in option notmpterms with model local variables
...
Since model local variables are now treated as temporary terms, they must be
marked as such even when option notmpterms is present.
2018-09-25 15:57:56 +02:00
Houtan Bastani
fbeae9619a
aesthetic fix
2018-09-25 15:48:05 +02:00
Houtan Bastani
7282b7bf32
fix bug in filling of var AR matrix
2018-09-25 15:47:52 +02:00
Houtan Bastani
6c7d7f5d44
don’t create file if trend_component_model/var_model statement not present
2018-09-25 12:18:52 +02:00
Sébastien Villemot
913bc2f8c2
Macro-processor, comprehension: fix error message, add comments
2018-09-24 18:17:28 +02:00
Sébastien Villemot
3e5c8dd80d
Macro-processor: implement comprehensions
...
Due to a limitation of the current implementation, this breaks syntaxes like
[ (i,j) ] (but not [ (2,j) ]; the problem only occurs when an array is
constructed by specifying as first element a tuple whose first element is a
variable name). Solving this problem requires an overhaul of the
macro-processor, with construction of ASTs at parsing time, and evaluation
later on (instead of doing on-the-fly evaluation).
Ref #5
2018-09-24 18:00:59 +02:00
Sébastien Villemot
7a5cc7e54b
Minor fixes to comments
2018-09-18 19:12:25 +02:00
Houtan Bastani
c9f5cef99b
write AST in JSON
2018-09-18 17:48:04 +02:00
Houtan Bastani
8ec06dddc4
fix typo and remove unnecessary braces
2018-09-18 17:31:51 +02:00
Houtan Bastani
9f9c8fdfbf
fix typo
2018-09-18 14:50:54 +02:00
Houtan Bastani
85dbb649b7
move trend_component_table and var_model_table to DynamicModel as they are only used there
2018-09-14 17:04:06 +02:00
Houtan Bastani
eb74d48393
trend_component_model: replace `trends` option with `targets`
2018-09-13 12:21:23 +02:00
Houtan Bastani
dfb0629c25
fix typo
2018-09-12 18:21:34 +02:00
Houtan Bastani
dc9ecbb49a
fix bug in columns of EC matrix
2018-09-12 17:56:30 +02:00
Houtan Bastani
0376f7f173
fix bugs in creation of AR/EC matrices
2018-09-12 11:57:14 +02:00
Houtan Bastani
aa120abd02
simplify code
2018-09-12 11:57:14 +02:00
Houtan Bastani
8acee8fd54
fix AR and EC matrices for double diff
2018-09-11 16:56:05 +02:00
Houtan Bastani
f71c861d5e
output EC matrix in file for trend component models
2018-09-10 17:44:04 +02:00
Houtan Bastani
46709ada3f
output AR matrix in file for trend component models
2018-09-10 14:51:33 +02:00
Houtan Bastani
f5e5dea1be
support hard-coded parameters and parameter expressions in AR matrix
2018-09-07 10:14:18 +02:00
Houtan Bastani
acc197f539
output AR matrix in file
2018-09-06 18:00:05 +02:00
Sébastien Villemot
e19a14869e
Convert ExprNodeOutputType into a class enum
...
Incidentally, replace the IS_* macros by inline functions.
2018-09-05 18:28:32 +02:00
Sébastien Villemot
c6d4cb88c3
ExprNode and its subclasses are no longer friends of DataTree
...
This ensures a better isolation between the container and the containees.
2018-09-05 18:28:32 +02:00
Sébastien Villemot
004d909621
Use smart pointers for storage of ExprNode in DataTree class
...
- BTW, store them in a std::vector rather than std::list
- incidentally, fix issue in VariableNode::removeTrendLeadLag where expression
sharing was possibly violated when creating a new VariableNode
2018-09-05 18:28:32 +02:00
Sébastien Villemot
5d2e1cf7b9
Use smart pointers for storage of Statement in ModFile class
2018-09-05 18:28:27 +02:00
Houtan Bastani
9f0c30740e
introduce epilogue block
2018-09-05 12:31:49 +02:00
Sébastien Villemot
e3550a8fc0
Various fixes in comments
2018-09-04 17:28:47 +02:00
Sébastien Villemot
3fd6858fb8
Macroprocessor: fix priority of operators
...
- == and != have now lower priority than <= < >= >, for consistency with the
Dynare modelling language (and incidentally C and C++, but not Julia).
- ^ has now higher priority and no associativity, for consistency with the
Dynare modelling language (and usual arithmetic notation).
- & has now higher priority than |, and both have lower priority than + and -,
but higher than inequality comparators. This is not the same as C and C++ (in
which & and | are just above && and ||), but this allows for expressions such
as "a|b == c" to have their most natural semantics (i.e. this will compare
the union of a and b with c; the C/C++ priority level would have resulted in
a type error).
Ref #5 .
2018-09-04 17:09:11 +02:00
Sébastien Villemot
4624a3104d
Macroprocessor: implement power operator for integers
...
For consistency with the power operator for sets (see #5 ).
2018-09-04 16:28:38 +02:00
Stéphane Adjemian(Charybdis)
a35c1785a8
Cosmetic change.
2018-09-04 12:08:05 +02:00
Houtan Bastani
49d8931fc0
fix typo in 8584323563
2018-09-04 10:45:39 +02:00
Houtan Bastani
8584323563
provide information on order of ec.vars
2018-09-04 10:39:05 +02:00
Houtan Bastani
d89d6cc685
bug fix: close opened steady state file
2018-09-04 09:41:12 +02:00
Houtan Bastani
27c9a9a5e0
store LHS of trend equation in trend_vars
2018-09-03 17:25:42 +02:00
Houtan Bastani
7a438a3ce7
ensure that trend_variable found is actually a trend variable as declared in the trend_component_model statement
2018-09-03 15:05:30 +02:00
Houtan Bastani
fde836d7fe
trend_component_model: find trend_vars associated with equation
2018-08-31 14:24:44 +02:00
Houtan Bastani
52da3ecfa7
fix bug: missing initialization for lexer context variable
2018-08-29 18:02:12 +02:00
Houtan Bastani
95da532275
remove incorrect option as `unput` is used in flex file
2018-08-29 12:55:17 +02:00
Houtan Bastani
948e8cb6e4
fix bug in creation of ec vars for pac equation
2018-08-28 16:00:25 +02:00
Houtan Bastani
9e6bdc2334
Revert "fix bug in collection of ec vars of pac equation"
...
This reverts commit 74dd6a69e9
.
2018-08-28 13:32:48 +02:00
Houtan Bastani
74dd6a69e9
fix bug in collection of ec vars of pac equation
2018-08-27 16:41:39 +02:00
Houtan Bastani
1ae729929b
fix bug when var_expectation_model uses trend_component_model as auxiliary model
2018-08-27 14:51:54 +02:00
Houtan Bastani
d5d6e8beb0
simplify updating of RHS variables for trend component and var models
2018-08-23 13:57:27 +02:00
Houtan Bastani
16f10d954f
don’t rely on scope: clean up iterator names
2018-08-23 13:03:52 +02:00
Houtan Bastani
97af0ff711
fix bug in updating variables in var model table
2018-08-23 10:28:19 +02:00
Houtan Bastani
0c66e724cb
fix typo
2018-08-22 17:09:16 +02:00
Houtan Bastani
54df07d0e0
remove unnecessary comment
2018-08-22 17:01:03 +02:00
Houtan Bastani
7d9072a227
var_expectation: rename var_model_name to aux_model_name
2018-08-22 16:57:36 +02:00
Stéphane Adjemia (Scylla)
a406c18598
Allow trend_component_model in var_expectations.
2018-08-22 16:50:01 +02:00
Houtan Bastani
1874fa5cce
remove unused variable
2018-08-22 16:01:10 +02:00
Houtan Bastani
80c45ee116
fix bug with max_lag of var model
2018-08-22 15:59:12 +02:00
Houtan Bastani
0af91c26f8
aesthetic fix
2018-08-22 15:12:17 +02:00
Houtan Bastani
91b7888e61
print nonstationary field for trend_component and var models
2018-08-22 14:29:07 +02:00
Houtan Bastani
1918a56a70
fix bug in 539fddc9f6
2018-08-22 12:56:16 +02:00
Houtan Bastani
539fddc9f6
introduce var model table
2018-08-22 12:15:02 +02:00
Houtan Bastani
6015b0e57b
fixes to trend component model
2018-08-22 12:15:02 +02:00
Houtan Bastani
0d5dd11106
fix typo
2018-08-20 10:50:28 +02:00
Houtan Bastani
afe0e475b1
trend_component_model statement
2018-08-17 16:52:48 +02:00
Houtan Bastani
618147a126
fix typo
2018-08-16 11:09:54 +02:00
Stéphane Adjemian(Charybdis)
74b693a1ec
Cosmetic change.
2018-08-14 16:46:43 +02:00
Stéphane Adjemian(Charybdis)
adbeb49b29
Do not print non optimizing behaviour field in PAC if empty.
2018-08-14 16:45:01 +02:00
Houtan Bastani
ac850f5187
pac: stop processing of PAC equation if optimizing share parameter is hard-coded
2018-08-13 17:22:28 +02:00
Houtan Bastani
d3bd6ace90
pac: print optimizing share parameter
2018-08-13 17:00:47 +02:00
Houtan Bastani
edc242d471
preprocessor: find optimizing shares of agents in PAC equation
2018-08-13 14:34:57 +02:00
Houtan Bastani
c5c61f99ba
fix bug with max_lag reported for PAC equation
2018-08-13 12:12:20 +02:00
Houtan Bastani
0dffee4650
fix typo
2018-08-13 11:08:58 +02:00
Houtan Bastani
d657f77149
fix typo :)
2018-08-09 13:27:05 +02:00
Houtan Bastani
719630a53c
macroprocessor: allow looping over tuples. #5
2018-08-08 17:23:33 +02:00
Houtan Bastani
ca066ea398
macroprocessor: introduce shortcut for Cartesion product (^). #5
2018-08-08 15:58:49 +02:00
Houtan Bastani
d9c0568075
macroprocessor: introduce Cartesion product. #5
2018-08-08 15:11:06 +02:00
Houtan Bastani
e24cabe3a5
var_expectation: print type specific id for discount index
2018-08-08 14:59:50 +02:00
Houtan Bastani
27d088da7e
macroprocessor: fix bug in set difference introduced in 5f1465f9
2018-08-08 14:35:09 +02:00
Houtan Bastani
428b5023d3
macroprocessor: intersection operator. #5
2018-08-08 14:15:39 +02:00
Houtan Bastani
039b27bbaf
macroprocessor: union operator. #5
2018-08-08 14:12:04 +02:00
Houtan Bastani
1285473aa1
macroprocessor: introduce tuple type. #5
2018-08-07 17:36:13 +02:00
Houtan Bastani
88a0162202
macroprocessor: remove terminals not used in grammar
2018-08-07 17:19:45 +02:00
Stéphane Adjemian(Charybdis)
b20da7c43f
Fixed timing issue in VAR_EXPECTATION expansion.
2018-08-06 21:36:52 +02:00
Stéphane Adjemian(Charybdis)
32da131a77
Added associated index in M_.endo_names for expected variable.
2018-08-04 19:50:12 +02:00
Stéphane Adjemian(Charybdis)
ed32caeb46
Added missing field in VAR_EXPECTATION_MODEL description (variable).
2018-08-04 12:03:53 +02:00
Stéphane Adjemian(Charybdis)
022395aaf6
Fixed param_indices vector for VAR_EXPECTATION_MODEL.
2018-08-04 11:46:31 +02:00
Sébastien Villemot
f3c2a1bf87
New var_expectation_model statement and re-design of var_expectation operator
...
Given a previously declared var_model, the var_expectation_model statement is
used to declare a way of forming expectations with this VAR (possibly using a
finite or infinite discounted sum). The var_expectation operator now takes a
single argument, the name of the var_expectation_model.
For the moment, this only works when the var_model is using equations
explicitly declared in the model block.
2018-08-02 08:39:09 +02:00
Sébastien Villemot
8a03532c78
ParsingDriver: factorize code to check symbol types
2018-08-01 10:47:56 +02:00
Sébastien Villemot
122e154764
PlannerObjectiveStatement now owns its model_tree
...
By the way, error out if the planner_objective statement is used two times.
2018-07-31 13:00:41 +02:00
Sébastien Villemot
0a063eecc1
More smart pointers
2018-07-31 13:00:39 +02:00
Sébastien Villemot
66a712253a
Macroprocessor: cosmetic change
2018-07-31 12:02:26 +02:00
Sébastien Villemot
df01e52859
Use new syntax for various Bison options
2018-07-31 12:02:26 +02:00
Sébastien Villemot
4302307f7d
Force Emacs to use C++ mode when opening Bison and Flex files
2018-07-31 12:02:24 +02:00
Sébastien Villemot
7280c92642
Use variant semantic values in the Bison parser
...
We can therefore manipulate objects by value rather than by pointers, which
saves a lot of memory manipulations (and avoid potential segfaults and memory
leaks).
Note that there is no default action ("$$ = $1") when using the variant type,
so we add them explicitly.
2018-07-31 11:48:08 +02:00
Sébastien Villemot
725b91e5d6
Several fixes to computing tasks statements
...
- store objects whose persistence is not guaranteed (e.g. strings) as values
instead of references (to avoid possible segfaults)
- on the contrary, always store the SymbolTable as a reference, since its
persistence is guaranteed, and we don't want to copy it
- use pass-by-value in constructors whenever possible
- remove useless const keyword when passing by value
2018-07-31 10:51:28 +02:00
Sébastien Villemot
107ad1432b
Fix various Bison warnings
2018-07-30 19:38:46 +02:00
Sébastien Villemot
45cd8e6853
Fix regression in nested diffs introduced in 90d8b579
...
See McModelTeam/McModelProject/issues/97.
2018-07-30 12:53:23 +02:00
Sébastien Villemot
b9ee0bb204
aux_equations may diverge from those in the main model
...
aux_equations only contain the definition of auxiliary variables, and
may diverge from those in the main model (equations), if other model
transformations applied subsequently. This is not a problem, since
aux_equations is only used for regenerating the values of auxiliaries
given the others.
For example, such a divergence appears when there is an expectation
operator in a ramsey model, see
tests/optimal_policy/nk_ramsey_expectation.mod */
2018-07-27 14:20:36 +02:00
Sébastien Villemot
762f25abe9
Remove useless separate list for diff auxiliary variables
...
This table serves no useful purpose. It is better to append auxiliary equations
at the time they are created, to avoid messing with the recursive ordering.
2018-07-26 17:41:58 +02:00
Sébastien Villemot
90d8b579cc
Fix incorrect recursive ordering of aux vars with diff not used at current period
...
Ensure that all diff operators appear once with their argument at current
period (i.e. maxLag=0).
If it is not the case, generate the corresponding expressions.
This is necessary to avoid lags of more than one in the auxiliary
equation, which would then be modified by subsequent transformations
(removing lags > 1), which in turn would break the recursive ordering
of auxiliary equations.
See McModelTeam/McModelProject/issues/95 for an example.
2018-07-26 17:41:58 +02:00
Sébastien Villemot
9cf3e034de
Macroprocessor: allow empty arrays
...
This is now easy to implement, thanks to the refactoring allowing any type of
objects in arrays.
Closes DynareTeam/dynare#707
2018-07-25 18:46:55 +02:00
Sébastien Villemot
88fab669c6
Macroprocessor: length() operator called on a string returns the number of characters
...
Closes DynareTeam/Dynare#1547
2018-07-25 18:42:23 +02:00
Sébastien Villemot
5f1465f9d1
Macroprocessor: replace naked pointers by smart pointers
...
- use std::unique_ptr for MacroDriver::lexer
- use std::shared_ptr for MacroValue objects constructed by the parser
This is made possible using Bison 3.0 variant value type.
Using non-pointer type is not possible since MacroValue is polymorphic.
Using std::unique_ptr is not possible since the value type must be
copyable (see
https://lists.gnu.org/archive/html/bug-bison/2015-03/msg00004.html ).
Define a new type MacroValuePtr == shared_ptr<const MacroValue> for code
clarity.
Use the following convention for shared_ptr arguments to functions:
+ if pass-by-value, means that the callee acquires ownership
+ if pass-by-const-reference, the callee does not acquire ownership
- naked pointers are still used for tracking the filename in Bison's location
type, since we don't have control over that
Also, by the way:
- arrays can now contain elements of any type
- simplify MacroDriver::loop_stack using std::tuple
- toArray() method now fails on function objects
- no need to use const qualifiers, since all MacroValue objects are immutable
- use an exception for detecting division by zero
2018-07-25 18:40:23 +02:00
Sébastien Villemot
372005ed27
Bison: use the %language directive instead of %skeleton for specifying C++
2018-07-24 14:02:10 +02:00
Sébastien Villemot
937659747a
Macroprocessor: error out when length() operator called on a string or an int
...
Closes DynareTeam/Dynare#1547
2018-07-24 12:49:08 +02:00
Stéphane Adjemian(Charybdis)
49e1c43aed
Partially reverted 19048bdca
.
...
There is no reason to associate an exogenous variable or parameter to a
specific equation. For these types the user can use the pipe
notation (|x, |p) in any equations or the usual parameters and varexo statements.
2018-07-19 23:29:27 +02:00
Sébastien Villemot
4a04a38374
C++11: convert ExtendedPreprocessorTypes to class enums
2018-07-18 17:28:26 +02:00
Sébastien Villemot
97868cbd2a
Remove unneeded enum keyword
2018-07-18 17:28:26 +02:00
Sébastien Villemot
04b6690d5a
C++11: convert ExternalFunctionType to a class enum
2018-07-18 17:28:23 +02:00
Sébastien Villemot
14948401e4
C++11: convert PriorDistributions to a class enum
2018-07-18 16:52:12 +02:00
Sébastien Villemot
edddc9d8ca
C++11: convert NodeTreeReference to a class enum
2018-07-18 16:35:19 +02:00
Sébastien Villemot
4ad0e500d4
C++11: convert {Unary,Binary,Trinary}Opcode to class enums
2018-07-18 16:18:26 +02:00
Sébastien Villemot
11b1fdcffd
Fix implicit narrowing conversions (omitted in previous commit)
2018-07-18 15:12:00 +02:00
Sébastien Villemot
d6055c1407
C++11: convert SymbolType to a class enum
2018-07-17 18:55:26 +02:00
Sébastien Villemot
c12088f314
C++11: convert AuxVarType to class enum
2018-07-17 17:38:26 +02:00
Sébastien Villemot
89832db1db
C++11: convert MatrixForm to a class enum
2018-07-17 17:31:20 +02:00
Sébastien Villemot
946d105c04
Remove C and C++ preprocessor output types
...
This code is broken since the temporary terms array changes. It is probably not
worth maintaining it.
2018-07-17 16:52:11 +02:00
Sébastien Villemot
b8a5dfdc39
Replace several usages of C macroprocessor with C++ constructs
2018-07-17 16:36:58 +02:00
Houtan Bastani
8cf4fedac2
macroprocessor: change type of function arguments
2018-07-11 15:57:51 +02:00
Houtan Bastani
3776e3b890
only allow inline comments on statement lines. #4
2018-07-11 14:31:58 +02:00
Houtan Bastani
aea9011745
Revert "macroprocessor: don’t interpret inline comments yet put them to output (ignored by dynare preprocessor, but printed in macro expanded file). #4"
...
This reverts commit 27e6d92af1
.
2018-07-11 12:15:58 +02:00
Houtan Bastani
357320468b
Revert "macroprocessor: support Matlab comments. #4"
...
This reverts commit 066942ef22
.
2018-07-11 11:37:58 +02:00
Houtan Bastani
a2fef7804e
Revert "macroprocessor: support multi-line comments. #4"
...
This reverts commit 86a08f54ae
.
2018-07-11 11:37:40 +02:00
Houtan Bastani
15f5f4f1be
use front inserter instead of back inserter for unary/diff auxiliary equations
...
(cherry picked from commit 6a95831147d942c23fbc3a0a0b1506650eb49b7d)
2018-07-10 12:06:42 +02:00
Sébastien Villemot
7baee73126
Fix bug under MATLAB+Windows when "+" subdirectory is already present
...
Under MATLAB+Windows (but not under Octave nor under GNU/Linux or macOS), if we
directly remove the "+" subdirectory, then the preprocessor is not able to
recreate it afterwards (presumably because MATLAB maintains some sort of lock
on it). The workaround is to rename it before deleting it.
2018-07-09 18:18:26 +02:00
Houtan Bastani
86a08f54ae
macroprocessor: support multi-line comments. #4
2018-07-09 16:55:59 +02:00
Houtan Bastani
066942ef22
macroprocessor: support Matlab comments. #4
2018-07-09 16:55:53 +02:00
Houtan Bastani
27e6d92af1
macroprocessor: don’t interpret inline comments yet put them to output (ignored by dynare preprocessor, but printed in macro expanded file). #4
2018-07-09 16:55:38 +02:00
Houtan Bastani
e0bf2b60b6
Modify 19048bdcae
to store equation tags for variables declared in equation tags
2018-07-09 14:49:12 +02:00
Houtan Bastani
19048bdcae
Allow for the declaration of endogenous, exogenous, parameters on-the-fly in equation tags
2018-07-09 14:39:13 +02:00
Houtan Bastani
a7f8eaa336
remove warnings introduced in 244552393b
2018-07-09 11:55:39 +02:00
Houtan Bastani
853cce553f
replace ‘typedef’ with ‘using’
2018-07-09 11:49:17 +02:00
Houtan Bastani
244552393b
macroprocessor: add support for functions that return strings. #3
2018-07-04 17:04:22 +02:00
Houtan Bastani
a51dd224e4
simplify conversion of int to string
2018-07-04 16:07:16 +02:00
Sébastien Villemot
543e2b16e3
Simplify and modernize ConfigFile
...
- no longer use pointers
- use pass-by-value when possible
- use range-for loops when possible
2018-07-04 15:56:48 +02:00
Sébastien Villemot
53f83aeb12
No longer use boost::lexical_cast
...
Most cases can be handled in C++11 by std::stoi() and std::stod().
For the macroprocessor ArrayMV<T>::print() method, use template
specialization (instead of a lexical_cast to detect between T=int and
T=string).
2018-07-04 15:53:41 +02:00
Sébastien Villemot
30c205f418
C++11: replace calls to std::atof() by std::stod()
2018-07-04 14:53:13 +02:00
Sébastien Villemot
5e1d722013
C++11: replace most calls to std::atoi() by std::stoi()
...
The latter accepts a std::string as argument.
2018-07-04 14:53:08 +02:00
Sébastien Villemot
e376267a28
Move json generated files to ${MODFILE}/model/json/
2018-06-27 16:08:31 +02:00
Sébastien Villemot
988a9f6e2d
std::open and std::fstream constructor accept a std::string for filename in C++11
2018-06-27 15:30:45 +02:00
Sébastien Villemot
b91ed6f78c
Move the location of static and dynamic files on the filesystem
...
- M and MEX files are now under +${MODELNAME}/
- bytecode and C source now under ${MODELNAME}/model/
2018-06-27 15:30:25 +02:00
Houtan Bastani
45f7e40a88
remove unused library
2018-06-27 13:50:15 +02:00
Houtan Bastani
bbb2b067bf
prevent compilation warning
2018-06-27 13:45:51 +02:00
Stéphane Adjemian(Charybdis)
a2b19cbfff
Added missing writeJsonOutput method for VarModelStatement.
2018-06-15 14:56:44 +02:00
Sébastien Villemot
158f027db2
Fix parsing of empty strings in macro-processor
...
Those were treated as comments.
Incidentally, fix a similar issue in the Dynare parser (which is much less
problematic, since double quotes are not used in the Dynare language).
Closes DynareTeam/dynare#1621
2018-06-14 16:54:31 +02:00
Houtan Bastani
b8ae9f6935
Fix max lags for var
2018-06-11 15:18:06 +02:00
Houtan Bastani
84c2dc5f36
transform_unary_ops now introduces aux variables/equations for all unary ops specified by UnaryOpNode::createAuxVarForUnaryOpNode()
...
In the absence of this option, if a var_model statement(s) is present, then aux vars/eqs are created for the same types of unary operators but only for equations specified in the var_model statement
In the absence of both this option and var_model statements, no unary op auxiliary variables are created
diffs continue to be substituted everywhere; for the moment auxiliary variables are created for diffs of expressions. A forthcoming change will allow auxiliary variables created for diffs of expressions to be linked with their lagged expressions as is currently the case for diffs of variables
2018-06-07 17:16:12 +02:00
Houtan Bastani
a30f8f365e
Only create auxiliary variables for diffs that appear in VAR equations or equations that have pac_expectations in them
...
Otherwise, substitute the diff (i.e. `diff(x)` -> `x-x(-1)`)
2018-06-05 18:39:13 +02:00
Houtan Bastani
27320a07f6
update statement loops to use C++11 syntax
2018-06-05 18:39:13 +02:00
Houtan Bastani
2cd3aa95cc
When `transform_unary_ops` is passed, only substitute unary operators that appear in VAR equations
2018-06-05 17:41:15 +02:00
Sébastien Villemot
130004ef47
Simplify types for storing derivatives using std::tuple
2018-06-05 15:34:34 +02:00
Sébastien Villemot
52d8bd0b17
Stop using namespace boost globally in ModelTree
...
Otherwise boost::tuple overrides std::tuple.
2018-06-05 15:33:46 +02:00
Houtan Bastani
4d92baaf29
Clean up writing of equation tags in latex file
2018-06-05 14:47:36 +02:00
Sébastien Villemot
ae81a6fcad
Fix compilation error with bytecode DLL
2018-06-05 11:25:23 +02:00
Houtan Bastani
d453e81594
pac_model: write as more output to M_ instead of options_; use rmfield instead of clear
2018-06-05 11:14:03 +02:00
Houtan Bastani
16a049f0d8
Make changes to pac code for C++11
2018-06-05 11:14:03 +02:00
Sébastien Villemot
db3f625e80
Fix compilation for Windows hosts
2018-06-05 09:31:19 +02:00
Sébastien Villemot
7e16307382
Simplify DataTree maps using std::tuple
2018-06-04 17:35:02 +02:00
Sébastien Villemot
abe44fb063
Replace the use of boost::bind by a lambda
2018-06-04 16:51:36 +02:00
Sébastien Villemot
272d36a37c
Remove useless casts of nullptr
2018-06-04 16:39:01 +02:00
Sébastien Villemot
608c43450c
Replace most calls to make_pair by braced-initializer lists or emplace()/emplace_back()
2018-06-04 16:36:46 +02:00
Sébastien Villemot
7d9cd718fc
Replace more typedefs by using
...
Those were not automatically replaced by clang-tidy, I don’t know why…
2018-06-04 15:03:31 +02:00
Sébastien Villemot
182c53273e
Remove useless spaces in type qualifiers
...
In C++11, it is no longer necessary to put a space between two consecutive ">".
2018-06-04 15:03:31 +02:00
Sébastien Villemot
f8cc3ae355
Port to C++11 using keyword
...
Performed using modernize-use-using from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-using.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
bf891b7d72
Port towards C++11 override
...
Performed using modernize-use-override from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
1e56c73377
Port to C++11 nullptr keyword
...
Performed using modernize-use-nullptr from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
e73ebc7033
Port to C++11 noexcept keyword
...
Performed using modernize-use-noexcept from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-noexcept.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
64eb494298
Port to C++11 syntax for default constructors
...
Performed using modernize-use-equals-default from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
33b1359905
Port to C++11 emplace_back() method on containers
...
Performed using modernize-use-emplace from clang-tidy.
Manual intervention was needed to transform a NULL into nullptr in SymbolTable.cc.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-emplace.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
a185ecf752
Port to C++11 default members initializers
...
Performed using modernize-use-default-member-init from clang-tidy.
Manual intervention was needed to remove spurious remaining commas.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-default-member-init.html
2018-06-04 15:03:31 +02:00
Sébastien Villemot
c0ed97d247
Port to C++11 auto keyword
...
Performed using modernize-use-auto from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
2018-06-04 15:03:26 +02:00
Sébastien Villemot
dcfc598196
Remove redundant void arguments
...
Performed using modernize-redundant-void-arg from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2018-06-04 15:02:57 +02:00
Sébastien Villemot
20bbbd46c3
Port some constructors to pass-by-value using C++11 move semantics
...
Performed using modernize-pass-by-value from clang-tidy.
Manual intervention was needed to fix an issue in MacroValue.hh.
Also replace std::move by move, since we import the std namespace.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html
2018-06-04 12:35:28 +02:00
Sébastien Villemot
6cf4e6dc0c
Port to C++11 range-based for loops
...
Performed using modernize-loop-convert from clang-tidy.
Manual intervention was needed in MacroValue.cc because of a variable name
capture issue.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-loop-convert.html
2018-06-04 12:26:16 +02:00
Sébastien Villemot
80d1e1e1fd
Use C++ header
...
Performed using modernize-deprecated-headers from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-deprecated-headers.html
2018-06-04 11:59:02 +02:00
Sébastien Villemot
28582c4a4b
Merge branch 'temporary_terms_array'
2018-06-04 11:40:49 +02:00
Houtan Bastani
f338e87692
Revert "remove unnecessary code for calculation of max lag when equation have been undiffed"
...
This reverts commit d7c979a4e6
.
2018-06-02 12:17:05 +02:00
Houtan Bastani
d7c979a4e6
remove unnecessary code for calculation of max lag when equation have been undiffed
2018-06-01 15:52:40 +02:00
Houtan Bastani
90cf5bfbb1
fix bug in creation of auxiliary variables for unary ops
2018-06-01 15:52:39 +02:00
Houtan Bastani
cc65f82fd8
fix typo in a648dc9e50
2018-06-01 15:06:31 +02:00
Houtan Bastani
a648dc9e50
clarify error message
2018-05-31 19:23:44 +02:00
Houtan Bastani
9166cda225
remove code that is no longer used in creation of auxiliary variables for diff operator
2018-05-31 18:44:06 +02:00
Houtan Bastani
1b952a12e6
fix bug in var max lag and simplify code
2018-05-31 15:36:03 +02:00
Sébastien Villemot
59e427cf66
Merge branch 'master' into temporary_terms_array
2018-05-30 17:20:48 +02:00
Houtan Bastani
e532ed9bab
fix typo
2018-05-30 16:53:16 +02:00
Houtan Bastani
0aea4f0cc4
introduce dynare command transform_unary_ops to create auxiliary variables for certain unary ops. This will be used for VARs and VECMs but can also be used for OLS, for example
2018-05-30 16:48:08 +02:00
Houtan Bastani
856f6f508a
Revert "create aux vars for certain unary ops contained in diff operator"
...
This reverts commit f600a65c0e
.
2018-05-30 15:50:42 +02:00
Houtan Bastani
922d0551a8
Revert "fixes to auxiliary variable creation for unary ops in diff operators"
...
This reverts commit 48031b99f6
.
2018-05-30 15:50:26 +02:00
Houtan Bastani
48031b99f6
fixes to auxiliary variable creation for unary ops in diff operators
2018-05-30 14:42:00 +02:00
Sébastien Villemot
0b617ceb4b
Merge branch 'master' into temporary_terms_array
2018-05-29 17:25:11 +02:00
Sébastien Villemot
e1f65b3390
Fix bug in external functions with temporary terms array
...
Given that temporary terms are separated in several functions (residuals,
jacobian, …), we must make sure that all temporary terms derived from a given
external function call are assigned just after that call, and not in an other
function.
2018-05-29 17:07:18 +02:00
Houtan Bastani
f600a65c0e
create aux vars for certain unary ops contained in diff operator
2018-05-29 17:00:56 +02:00
Sébastien Villemot
08eedcb448
Add const qualifier for tef_terms in writeOutput method and siblings
...
Consequently, change various function calls where tef_terms was empty, passing
an (empty) rvalue instead of an lvalue.
2018-05-29 14:22:01 +02:00
Sébastien Villemot
33b280b3d5
Remove some ExprNode::writeOutput variants
...
More precisely, remove those variants where temporary_terms can be specified
without temporary_terms_idxs, in order to make clear that the latter is
expected. For situations where the tt_idxs are not needed (C, block MATLAB), an
empty map has to be explicitly given.
2018-05-29 11:13:55 +02:00
Sébastien Villemot
3f874cfced
Remove obsolete function
2018-05-28 16:39:28 +02:00
Houtan Bastani
90c90ca85d
pac: undiff: fix bug in erroneous conditional
2018-05-28 15:55:01 +02:00
Houtan Bastani
ad19c535ef
clarify error messages
2018-05-28 15:54:20 +02:00
Sébastien Villemot
ea3573180a
Fix ordering of model local variables
2018-05-28 15:50:29 +02:00
Sébastien Villemot
dd6799187c
Fix derivs w.r.t. parameters with temporary terms array
2018-05-28 15:23:15 +02:00
Sébastien Villemot
61dc80bb64
Fix missing temporary terms indexes in hessian and 3rd derivatives of static model
2018-05-28 11:59:36 +02:00
Sébastien Villemot
8657d4dc98
Fix block decomposition with temporary terms array
2018-05-28 11:58:11 +02:00
Sébastien Villemot
38ed0f2ffc
Remove unused writeChainRuleDerivative methods
2018-05-25 17:10:16 +02:00
Sébastien Villemot
c7c26190d6
Reactivate use_dll mode
2018-05-25 15:48:55 +02:00
Sébastien Villemot
968e411c31
Make indexing in temporary terms array ready for a (hypothetical future) implementation in C
2018-05-25 15:19:50 +02:00
Sébastien Villemot
f4b633b199
Factorize code for writing temporary terms identifiers (Tnnn)
...
Incidentally fix bug when a trinary operator becomes a temporary term with
block decomposition (without bytecode).
Also add a safety check to ensure that, if a temporary term is detected, its
index is indeed present in temporary_terms_idxs.
2018-05-25 14:53:48 +02:00
Sébastien Villemot
467604d428
Simplify ExprNode::writeOutput methods
...
The version with no temporary_terms_idxs argument needs not be virtual, since
it is the same implementation in all derived classes. Rather move it at the
level of the base ExprNode class.
2018-05-25 12:20:25 +02:00
Sébastien Villemot
64323ef730
Add compatibility layer for Matlab/Octave code not using the new temporary terms array interface
2018-05-24 19:35:35 +02:00
Sébastien Villemot
143e0888b6
Clean generated files for temporary terms array interface
2018-05-24 19:35:35 +02:00
Sébastien Villemot
bb4b5993b0
Simplify code for model local variables
2018-05-24 19:35:35 +02:00
Sébastien Villemot
164a6f303b
Fix bug in temporary terms array in the presence of model local variables
...
In the presence of MLVs, the temporary terms indexing was corrupted. The code
was using the implicit assumption that the ExprNodeLess ordering was giving the
same ordering as the temporary terms indexes ordering. But MLVs can be higher
in ExprNodeLess ordering than some other temporary terms, while they have the
lowest temporary terms index, hence the bug.
Fix this by no longer relying on the ExprNodeLess ordering, and rather use a
full map<ExprNode *, int> for ModelTree::temporary_terms_idxs. By the way,
simplify the code by removing a few useless data structures (e.g.
ModelTree::temporary_terms_idxs_*).
2018-05-24 19:35:21 +02:00
Sébastien Villemot
a9bfd1223b
Fix assertions that check the length of temporary terms vectors
...
Model local variables had been omitted in the length computations.
2018-05-24 17:04:16 +02:00
Sébastien Villemot
41d7496b46
Fix bug in wrapper functions (*_{dynamic,static}_resid_g1{,_g2,_g2_g3}.m)
...
The last argument (T_flag) was missing in the function definitions (but it was
used in some function calls).
2018-05-23 17:34:00 +02:00
Sébastien Villemot
3fa14031a2
Fix bug in *_{dynamic,static}_resid_g1_g2_g3.m functions
2018-05-22 12:02:48 +02:00
Houtan Bastani
732a317030
Merge branch 'master' into temporary_terms_array
2018-05-18 16:40:12 +02:00
Houtan Bastani
dd8b05e2f0
add undiff info to pac output
2018-05-17 16:53:27 +02:00
Stéphane Adjemian(Charybdis)
1ba023e37d
Added option for tuning mh_jscale.
2018-05-16 15:48:39 +02:00
Houtan Bastani
3d946ec8b7
var: check for leaded/contemporaneous variables
2018-05-16 12:17:06 +02:00
Houtan Bastani
3a71215ae1
pac: change auxiliary variable creation, fix VAR max lag
2018-05-15 14:42:36 +02:00
Houtan Bastani
912261e5fc
pac: separate params into EC and AR
2018-05-04 15:26:21 +02:00
Houtan Bastani
1310ec3caa
update pac output
2018-04-18 15:50:35 +02:00
Houtan Bastani
d686275da1
fix bug with predetermined variables used in model local variables
2018-04-18 14:29:40 +02:00
Houtan Bastani
7ac33099f8
support undiff in pac model
2018-04-17 16:56:27 +02:00
Houtan Bastani
bb1cc0bebf
simplify var_model statement calls
2018-04-17 16:56:02 +02:00
Houtan Bastani
09e73f3bb4
var_model: fix lag info when diff present
2018-04-17 16:55:55 +02:00
Stéphane Adjemian(Charybdis)
38fc19f9d3
Fixed type issue. NaN cannot be used if Int is expected.
2018-04-11 09:17:43 +00:00
Stéphane Adjemian(Charybdis)
70ec52a6cc
Added a routine returning only the static jacobian.
...
Also added flags to decide which temporaries have to be (re)computed.
2018-04-10 09:45:40 +02:00
Houtan Bastani
fb8d9258d0
add pac_model statement
2018-04-04 11:48:59 +02:00
Stéphane Adjemian(Charybdis)
dfccecfb11
Fixed bug (x, exogenous variables steady state, is not a Matrix).
2018-03-29 22:23:38 +02:00
Stéphane Adjemian(Charybdis)
46a2272ef9
Added new member in model_ (julia output).
...
temporaries.static and temporaries.dynamic are 4*1 vectors of
integers, each element is the number of temporary variables used for
to evaluate the residuals, the jacobian matrix, the hessian matrix and
the matrix of third order derivatives.
2018-03-29 14:10:34 +02:00
Stéphane Adjemian(Charybdis)
b52ded0eb4
Fixed doc headers for static and dynamic julia modules.
2018-03-29 09:31:25 +00:00
Stéphane Adjemian(Charybdis)
849936d81b
Same as bce9b66312
for matlab output.
2018-03-28 19:14:43 +02:00
Stéphane Adjemian(Charybdis)
bce9b66312
Added arrays providing the number of temp terms in Julia modules...
...
... For static and dynamic models.
2018-03-28 17:50:58 +02:00
Houtan Bastani
ec215e2a44
separate temporary terms: WIP
2018-03-28 16:41:48 +02:00
Houtan Bastani
7cbd7b6e1e
Revert "Added new routine for the dynamic model (only computes the jacobian)."
...
This reverts commit 84c6bf5daf
.
2018-03-28 16:14:15 +02:00
Houtan Bastani
13d408b058
Revert "Added new routine for the static model (only computes the jacobian)."
...
This reverts commit 7c9c83fba1
.
2018-03-28 16:14:15 +02:00
Stéphane Adjemian(Charybdis)
c4ae840b20
Added {endo,exo,exo_det,param}_nbr in Julia output (in model_).
2018-03-27 14:47:51 +02:00
Houtan Bastani
493f98fa3a
fix typo
2018-03-27 11:01:29 +02:00
Houtan Bastani
db1f6c2998
Modify changes from on-the-fly branch
2018-03-20 11:03:46 +01:00
Houtan Bastani
80060fb9ef
Merge remote-tracking branch 'origin/declare_vars_in_model_block'
2018-03-19 17:05:03 +01:00
Stéphane Adjemian(Charybdis)
deb77be8f1
Fixed bug.
...
Preprocessor was not returning an error when some of the exogenous
variables were not used in the model.
2018-03-13 09:20:14 +01:00
Stéphane Adjemian(Charybdis)
84c6bf5daf
Added new routine for the dynamic model (only computes the jacobian).
2018-03-10 10:20:50 +01:00
Stéphane Adjemian(Charybdis)
7c9c83fba1
Added new routine for the static model (only computes the jacobian).
2018-03-10 10:20:50 +01:00
Houtan Bastani
5d339b69de
simplify pac_expectation code
2018-03-07 15:04:07 +01:00
Houtan Bastani
2a2f2799dd
fix compilation warnings
2018-03-07 12:58:51 +01:00
Houtan Bastani
81f2258228
var_model: store max lag info
2018-03-06 15:17:39 +01:00
Houtan Bastani
a69c53b0c8
clean up var_model code
2018-03-06 14:42:11 +01:00
Houtan Bastani
03f88931c6
Merge branch 'diff'
2018-03-05 13:08:09 +01:00
Stéphane Adjemian(Charybdis)
051f41c5f7
Shortened a function name.
2018-03-04 16:54:11 +01:00
Houtan Bastani
de9e897a59
fix bug when the argument of the diff operator is not a variable
2018-03-02 18:39:38 +01:00
Houtan Bastani
204457cd86
explicitly close output streams
2018-03-02 18:39:16 +01:00
Houtan Bastani
feb5b93eea
create function to calculate aux vars as dseries
2018-03-02 17:50:35 +01:00
Houtan Bastani
583734f515
new diff equations not added to aux_equations
2018-03-02 16:40:19 +01:00
Houtan Bastani
f56ae705a4
fix bug in symb_id when diff'd expr is not a VariableNode
2018-03-02 15:22:54 +01:00
Houtan Bastani
9885fbacff
diff: substitute auxiliary variables starting from the least lagged
2018-03-02 12:32:01 +01:00
Stéphane Adjemian(Charybdis)
02ef145aa5
Fixed initialization of state_var for julia.
2018-03-01 15:55:14 +01:00
Stéphane Adjemian(Charybdis)
250106f1d2
Cosmetic change.
2018-03-01 09:58:04 +01:00
Houtan Bastani
1e20717f58
fix bug in substitution of diff operator
2018-02-28 17:33:00 +01:00
Houtan Bastani
4897ab7d69
clean up adl code
2018-02-28 11:31:08 +01:00
Houtan Bastani
f439f86688
fix bug with the collection of dynamic variables for diff operator
2018-02-28 10:44:24 +01:00
Stéphane Adjemian (Charybdis)
d7815e9e47
Fixed comments.
2018-02-27 23:41:24 +01:00
Houtan Bastani
a1437ac982
Merge remote-tracking branch 'dynare-preprocessor-github/master' into other-master
2018-02-26 12:09:58 +01:00
Houtan Bastani
78295bf6fc
remove version from preprocessor output
2018-02-21 17:26:16 +01:00
Houtan Bastani
1db815e00b
clarify package/version info
2018-02-16 17:23:48 +01:00
Houtan Bastani
2f9350b164
preprocessor submodule: build system
2018-02-15 12:40:17 +01:00
Houtan Bastani
b504f160ca
move files to src directory
2018-02-15 11:48:04 +01:00