Émilie Feral
75dc415e27
[poincare] Step I: add a parameter to approximation routines to indicate
...
if we're within a reduction routine
2020-11-04 15:58:40 +01:00
Hugo Saint-Vignes
073893ae48
[poincare] Exact undef results with GCD and LCM
...
Change-Id: Iba39cd6140d8ef5b3fd24e0f53c9e28fbd57d438
2020-11-04 15:33:01 +01:00
Hugo Saint-Vignes
74a2211a6a
[poincare] Use default methods for GCD and LCM instead of n_ary ones
...
Change-Id: Id353e4367bcb6700bae2f9c121af93b9379a8051
2020-11-04 15:11:44 +01:00
Hugo Saint-Vignes
cafb1c1c05
[poincare] LCM and GCD accept set of numbers
...
Change-Id: I367ff5e48fa2856e976aa020ac0d172216f3a421
2020-11-04 15:11:43 +01:00
Ruben Dashyan
965e3b1d9a
[poincare/n_ary_expression] Factor mergeMultiplicationChildrenInPlace
...
from Multiplication to NAryExpression so as to use it in Addition
2020-06-04 14:50:01 +02:00
Léa Saviot
9988447b9a
[poincare] Expression::isIdenticalToWithoutParentheses
2020-04-15 09:16:32 -04:00
Ruben Dashyan
13391d486e
[poincare/n_ary_expression] Do not compute numberOfChildren repeatedly
2020-02-12 15:13:26 +01:00
Émilie Feral
a515160470
[poincare] NAryExpressionNode: fix sortChildrenInPlace to put
...
expressions involving matrices as last children
2019-12-02 17:08:53 +01:00
Émilie Feral
710d5259fe
[poincare] NAryExpressionNode: clean sortChildrenInPlace (the loop was
...
in descending order without any explanation)
2019-11-05 16:46:21 +01:00
Romain Goyet
a34ecd2769
[poincare] Use std::move when needed
...
When returning a subclass of an Expression as an Expression, make sure
to use std::move, otherwise the compiler cannot proceeed to copy
ellision.
2019-10-16 10:01:14 +02:00
Léa Saviot
93832549f1
[poincare] childNeedsUserParentheses takes childIndex param
...
Scenario:
0+exp^0 i->b
0+exp b^0 i->b
Go to VariableBox/expression -> Parentheses were not properly added when
b was replaced
2019-09-20 10:20:48 +02:00
Émilie Feral
fbbc11cf33
[poincare] Fix childNeedsUserParentheses with Conjugate expressions
2019-08-16 16:16:53 +02:00
Émilie Feral
6c203a545a
[poincare] Fix Expression::isReal method with Matrix reducing
2019-08-14 09:38:28 +02:00
Émilie Feral
eb0f6153c5
[poincare] When reducing expressions, we check if an expression is a
...
matrix to know if it can be permuted in a multiplication for example.
This check has to be 'recursive'/'deep' to detect cases like "cos(3×confidence(cos(2)/25,3))"
2019-08-14 09:38:27 +02:00
Léa Saviot
4c09504ebe
[poincare/addition] shallowReduce handles non reduced matrices
2019-08-08 16:29:38 +02:00
Léa Saviot
88a60d9c12
[poincare] NAryExpression::SortedIsMatrix renamed SortedNAryIsMatrix
2019-08-08 16:29:38 +02:00
Léa Saviot
86301b0884
[poincare] NAryExpressionNode::sortChildrenInPlace for matrices
2019-08-08 16:29:37 +02:00
Léa Saviot
61cf762eef
[poincare] Expression::ReductionContext
2019-08-08 16:29:37 +02:00
Léa Saviot
de2d9f7c57
[poincare] SerializationHelper::Map -> Expression::mapOnMatrixChild
2019-08-08 16:24:51 +02:00
Léa Saviot
51ee5d8e21
[poincare] More matrix simplification when map/undefined
2019-08-08 16:24:51 +02:00
Léa Saviot
976b506c70
[poincare] n_ary_expression_node.h -> n_ary_expression.h
2019-08-08 16:24:51 +02:00