 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 5 commits


Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored

 25 May, 2018 5 commits


Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored
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.

Sébastien Villemot authored
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.

 24 May, 2018 5 commits


Sébastien Villemot authored

Sébastien Villemot authored

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_*).

Sébastien Villemot authored
Model local variables had been omitted in the length computations.

 23 May, 2018 1 commit


Sébastien Villemot authored
The last argument (T_flag) was missing in the function definitions (but it was used in some function calls).

 22 May, 2018 1 commit


Sébastien Villemot authored

 18 May, 2018 1 commit


Houtan Bastani authored

 17 May, 2018 1 commit


Houtan Bastani authored

 16 May, 2018 3 commits


Stéphane Adjemian(Charybdis) authored

Houtan Bastani authored

Sébastien Villemot authored

 15 May, 2018 2 commits


Houtan Bastani authored
This reverts commit 4fce93ee.

Houtan Bastani authored

 09 May, 2018 1 commit


Sébastien Villemot authored

 04 May, 2018 1 commit


Houtan Bastani authored

 18 Apr, 2018 2 commits


Houtan Bastani authored

Houtan Bastani authored

 17 Apr, 2018 3 commits


Houtan Bastani authored

Houtan Bastani authored

Houtan Bastani authored

 11 Apr, 2018 1 commit


Stéphane Adjemian(Charybdis) authored

 10 Apr, 2018 1 commit


Stéphane Adjemian(Charybdis) authored
Also added flags to decide which temporaries have to be (re)computed.

 04 Apr, 2018 1 commit


Houtan Bastani authored

 29 Mar, 2018 3 commits


Stéphane Adjemian(Charybdis) authored

Stéphane Adjemian(Charybdis) authored
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.

Stéphane Adjemian(Charybdis) authored

 28 Mar, 2018 1 commit


Stéphane Adjemian(Charybdis) authored
