Commit Graph

184 Commits

Author SHA1 Message Date
Émilie Feral
7feef8f266 [poincare] Expression: approximateToEvaluation does not handle
Uninitialized Expression but approximate does
2018-09-07 15:54:23 +02:00
Léa Saviot
bcf299c241 [poincare] Un-inline Expression::parent() (inline later if possible !) 2018-09-07 15:23:49 +02:00
Léa Saviot
5e42aa31f9 [poincare] un-inline setSign and approximateToEvaluation 2018-09-07 15:18:37 +02:00
Léa Saviot
45808bcbaa [poincare] Expression un-inline to reduce binary size 2018-09-07 13:54:54 +02:00
Léa Saviot
54f8c5d0d0 [poincare] Clean inlining of Expression ad LayoutNode 2018-09-06 14:14:44 +02:00
Léa Saviot
ea948117a4 [poincare] Remove ExceptionNodes and UninitializedNodes 2018-09-05 17:54:08 +02:00
Léa Saviot
e3a09286ac [poincare] Remove AllocationFailures 2018-09-05 16:19:11 +02:00
Léa Saviot
e8227d5f0f [poincare] Fix setjmp in Poincare::parse 2018-09-05 14:49:15 +02:00
Léa Saviot
ea1fe18b17 [poincare] Clean some methods in Expression 2018-09-05 14:48:54 +02:00
Léa Saviot
679f9815c1 [poincare] Put setjmp in apps_container and in Expression::parse 2018-09-05 14:37:52 +02:00
Émilie Feral
c762b31bc2 [poincare] Replace the overriding of operator T() by an inline function
to cast Expression in Derived Expression
2018-09-05 13:46:39 +02:00
Léa Saviot
c6237ab448 [poincare] First attempt at setjump/longjump exceptions 2018-09-04 17:37:22 +02:00
Léa Saviot
bdfbc8efc9 [poincare] Update Multiplication 2018-09-03 11:17:19 +02:00
Léa Saviot
969f64c933 [poincare] Update Expression 2018-08-31 16:13:46 +02:00
Émilie Feral
c6c71e2ed6 [poincare] Revert design of shallowReduce:
shallowReduce is supposed to be applied on Expression already attached
to their parent
2018-08-31 13:59:29 +02:00
Émilie Feral
ccda5c3831 [poincare] Redesign Expression and ExpressionNode to work with Reference 2018-08-30 16:08:09 +02:00
Léa Saviot
3a51b82717 [poincare] Register UninitializedExpressionNode at Poincare init 2018-08-30 12:03:15 +02:00
Léa Saviot
8d31969108 [poincare] Add Roots parsing 2018-08-21 17:59:07 +02:00
Léa Saviot
b3f6cf459c [poincare] Clean and fix Reduce codes 2018-08-20 17:04:24 +02:00
Émilie Feral
e2695c36b8 [poincare] Expression: reset YYVALUE used by parsor to avoid keeping an
useless Expression
2018-08-16 16:46:36 +02:00
Léa Saviot
c5a85edf8e [poincare] Remove invalid nullptr return values 2018-08-14 17:57:59 +02:00
Léa Saviot
71c807b565 [poincare] Node->isDefined becomes !Node->isUninitialized 2018-08-14 16:40:12 +02:00
Léa Saviot
a3d09bde1c [poincare] Fix typos 2018-08-14 16:03:42 +02:00
Léa Saviot
5d9e69dedc [poincare] Remove Tree constructors that use nullptr as parameter 2018-08-14 14:58:47 +02:00
Émilie Feral
67f4c3de77 [poincare] Expression: methods that should return an Expression HAVE to
be implemented on Expression and not on ExpressionNode in order to copy
the returned Expression.
2018-08-14 13:41:45 +02:00
Léa Saviot
80c7cf0f82 [poincare] Expression::simpleShallowReduce 2018-08-13 17:27:01 +02:00
Émilie Feral
1fac7dc49c [poincare] Implement approximateWithValueForSymbol 2018-08-10 13:18:46 +02:00
Émilie Feral
2c92326f9e [poincare] Expression: declare templated methods 2018-08-10 11:06:48 +02:00
Émilie Feral
4ae72d68d8 [poincare] Enable to call method on undefined Expression 2018-08-10 10:10:37 +02:00
Léa Saviot
fc93907d51 [poincare] Add YYSTYPE declaration in the lexer 2018-08-10 09:41:14 +02:00
Émilie Feral
0b2b6c11cc [poincare] Fix Expression and ExpressionNode 2018-08-09 16:10:59 +02:00
Émilie Feral
aaa20a58fa [poincare] Implement SerializationHelper and
SerializationHelperInterface. WriteTextInBuffer->serialize
2018-08-08 15:31:40 +02:00
Romain Goyet
56fb29786e [poincare] ExpressionReference becomes Expression 2018-08-08 13:34:16 +02:00
Romain Goyet
b44e643b18 [poincare] EvaluationReference becomes Evaluation 2018-08-08 13:34:16 +02:00
Émilie Feral
cbbcd957a1 [poincare] Correct various headers 2018-08-07 16:09:32 +02:00
Léa Saviot
4c301a736e [poincare] Rename numberOfOperands in numberOfChildren 2018-08-02 16:02:14 +02:00
Émilie Feral
54f9ea2d46 [poincare] Redesign of Expression: first attempt 2018-08-02 15:46:31 +02:00
Émilie Feral
48f890ef93 [poincare] AngleUnit, FormatComplex and PrintFloatMode are now
enumeration of Preferences class
2018-07-30 13:48:04 +02:00
Émilie Feral
042beb1028 [poincare] Move 'complexToExpression' to Evaluation class 2018-07-18 17:09:07 +02:00
Émilie Feral
b5b2d5f3ee [poincare] Add tests on convert complex to expressions 2018-07-18 17:09:07 +02:00
Émilie Feral
e61a408a0a [poincare] Get rid of AngleUnit::Default 2018-07-18 17:09:07 +02:00
Émilie Feral
2e7c08241a [poincare] Change writeTextInBuffer signature (parameters are float
display mode and number of significant digits)
2018-07-18 16:32:50 +02:00
Émilie Feral
b8af15f1ab [poincare] change createLayout signature
- CreateLayout depends on the float display mode and the number of
significant digits
- Float display mode does not have a default value anymore
2018-07-18 16:32:50 +02:00
Émilie Feral
d94ed82ab8 [poincare] Create class Approximation<T> to avoid useless conversion
between Decimal and float/double
2018-07-18 16:32:50 +02:00
Émilie Feral
73bb09b904 [poincare] Avoid creating decimal before approximating it in
approximateToScalar
2018-07-18 16:32:50 +02:00
Émilie Feral
376d9ef9a2 [poincare] Improve the transformation from complex to expression to
avoid complex(1, 0) -> Addition(Decimal(1), Multiplcation(Decimal(0),
Symbol(I)))
2018-07-18 16:32:49 +02:00
Émilie Feral
350480cc6e [poincare] Implement toScalar on Decimal 2018-07-18 16:32:49 +02:00
Émilie Feral
dd0bc491f6 [poincare] Replace Poincare::Complex by std::complex 2018-07-18 16:32:49 +02:00
Émilie Feral
c5cc871841 [poincare] Expression::getLinearCoefficients: the constant coefficient
has to be reduced before returned
2018-06-12 15:05:48 +02:00
Émilie Feral
67cddf554d Merge branch 'lea-statistics' into upgrade-1.6.0 2018-06-12 10:25:54 +02:00