- 10 Oct, 2018 3 commits
-
-
Sébastien Villemot authored
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
-
Sébastien Villemot authored
-
Sébastien Villemot authored
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.
-
- 05 Oct, 2018 1 commit
-
-
Sébastien Villemot authored
Commit c6cb9aa1 was not the right fix.
-
- 04 Oct, 2018 1 commit
-
-
Sébastien Villemot authored
The syntax makes clearer the distinction between a function call and an initialization. Also, it prevents bugs due to implicit type conversions.
-
- 01 Oct, 2018 1 commit
-
-
Sébastien Villemot authored
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).
-
- 28 Sep, 2018 1 commit
-
-
FerhatMihoubi authored
Adds a new model option "linear_decomposition" that creates a block composed of the non-linear equations o the model
-
- 25 Sep, 2018 1 commit
-
-
Sébastien Villemot authored
Since model local variables are now treated as temporary terms, they must be marked as such even when option notmpterms is present.
-
- 14 Sep, 2018 1 commit
-
-
Houtan Bastani authored
-
- 05 Sep, 2018 1 commit
-
-
Sébastien Villemot authored
Incidentally, replace the IS_* macros by inline functions.
-
- 22 Aug, 2018 1 commit
-
-
Houtan Bastani authored
-
- 17 Aug, 2018 1 commit
-
-
Houtan Bastani authored
-
- 18 Jul, 2018 2 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
- 17 Jul, 2018 2 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
- 27 Jun, 2018 2 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
- M and MEX files are now under +${MODELNAME}/ - bytecode and C source now under ${MODELNAME}/model/
-
- 05 Jun, 2018 3 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
Otherwise boost::tuple overrides std::tuple.
-
Houtan Bastani authored
-
- 04 Jun, 2018 8 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
Those were not automatically replaced by clang-tidy, I don’t know why…
-
Sébastien Villemot authored
In C++11, it is no longer necessary to put a space between two consecutive ">".
-
Sébastien Villemot authored
Performed using modernize-use-nullptr from clang-tidy. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
-
Sébastien Villemot authored
Performed using modernize-use-noexcept from clang-tidy. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-noexcept.html
-
Sébastien Villemot authored
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
-
Sébastien Villemot authored
Performed using modernize-use-auto from clang-tidy. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
-
Sébastien Villemot authored
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
-
- 29 May, 2018 2 commits
-
-
Sébastien Villemot authored
Consequently, change various function calls where tef_terms was empty, passing an (empty) rvalue instead of an lvalue.
-
Sébastien Villemot authored
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.
-
- 28 May, 2018 4 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
- 25 May, 2018 1 commit
-
-
Sébastien Villemot authored
-
- 24 May, 2018 2 commits
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
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_*).
-
- 28 Mar, 2018 1 commit
-
-
Houtan Bastani authored
-
- 15 Feb, 2018 1 commit
-
-
Houtan Bastani authored
-