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