Commit Graph

5651 Commits

Author SHA1 Message Date
Émilie Feral
cd32e15cd9 [poincare] ExpressionNode::denominator() has to return an
UninitializedExpression
2018-08-17 17:14:32 +02:00
Émilie Feral
0b9cf08f77 [poincare] Addition: replace Rational by Number 2018-08-17 17:08:56 +02:00
Léa Saviot
335c760c70 [poincare] Suppress some warnings 2018-08-17 16:48:13 +02:00
Léa Saviot
9664c65794 [poincare] Use the new cast operator on Expression in Power 2018-08-17 16:42:01 +02:00
Léa Saviot
4aa7fabdb1 [poincare] Expression casting to derived classes 2018-08-17 16:12:55 +02:00
Émilie Feral
368739e485 [poincare] Power: Newton multinome 2018-08-17 15:37:56 +02:00
Émilie Feral
b85ad1b276 [poincare] Fix ExceptionExpressionNode, AllocationFailure and
UninitializedExpressionNode
2018-08-17 14:28:55 +02:00
Émilie Feral
e6b04509cd [poincare] Rational: add tests on approximation and serialization 2018-08-17 13:55:15 +02:00
Émilie Feral
4dbcc854bc [poincare] Temporary fix Multiplication::shallowBeautify 2018-08-17 13:55:15 +02:00
Léa Saviot
e9eac428b9 [poincare] Power::shallowReduce 2018-08-17 13:23:43 +02:00
Émilie Feral
bff65e630d [poincare] Fix OppositeNode::numberOfChildren 2018-08-17 12:11:26 +02:00
Émilie Feral
f06fe953ce [poincare] Change call to Expression::shallowReduce to
Expression::defaultShallowReduce to avoid infinite loop
2018-08-17 12:10:37 +02:00
Émilie Feral
766efc21a8 [poincare] Rational: avoid useless copy, use Reference instead 2018-08-17 11:52:39 +02:00
Émilie Feral
d53d97c620 [poincare] Integer: avoid copy when possible, work with Reference 2018-08-17 11:47:21 +02:00
Émilie Feral
f3bd3f39f4 [poincare] Add tests on Rational operations 2018-08-17 11:45:26 +02:00
Émilie Feral
02e52fc6d4 [poincare] Add tests on Rational properties 2018-08-17 11:32:27 +02:00
Émilie Feral
02e76e6ca7 [poincare] Add Integer comparison test 2018-08-17 11:15:21 +02:00
Émilie Feral
719dbf4f2e [poincare] Add Rational tests 2018-08-17 11:15:21 +02:00
Émilie Feral
4d870f33de [poincare] Fix Rational constructors 2018-08-17 11:15:21 +02:00
Émilie Feral
55953cb182 [poincare] Integer: add test on static Zero 2018-08-17 11:15:21 +02:00
Émilie Feral
54b019d0df [poincare] Clean Integer tests 2018-08-17 11:15:21 +02:00
Léa Saviot
c627b5067a [poincare] Fix Ghost, AllocationF an Uninitilized nodes staticNode methods 2018-08-17 10:46:05 +02:00
Émilie Feral
466dafa2fa [poincare] Forbid unitiliazed Number (protect the method). Create a
Static Integer 0 to optimize the pool
2018-08-17 10:36:55 +02:00
Léa Saviot
4269003d1a [poincare] Copy static nodes in the pool before add/replaceChild 2018-08-17 10:34:42 +02:00
Émilie Feral
cdd2f731f7 [poincare] Complete Integer tests 2018-08-16 16:46:36 +02:00
Émilie Feral
20bbc69c79 [poincare] Improve test helper 2018-08-16 16:46:36 +02:00
Émilie Feral
df2019061a [poincare] Increase TreePool 2018-08-16 16:46:36 +02:00
Émilie Feral
95ca623a0e [poincare] Test helper: increase the buffer size 2018-08-16 16:46:36 +02:00
Émilie Feral
7375783703 [poincare] Fix digit(0) of Integer(0) 2018-08-16 16:46:36 +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
Émilie Feral
f10d92b4ae [poincare] Add a common header for lexer and parser to defined YYTYPE 2018-08-16 16:46:36 +02:00
Émilie Feral
9038f0d481 [poincare] Fix Rational::setDigits 2018-08-16 16:46:36 +02:00
Émilie Feral
48094850a0 [poincare] Digits are a token of the lexer instead of created at parsing 2018-08-16 16:46:36 +02:00
Émilie Feral
69b57a0b8c [poincare] Fix test helper 2018-08-16 16:46:36 +02:00
Émilie Feral
d7e11da52c [poincare] clean Integer tests 2018-08-16 16:46:36 +02:00
Émilie Feral
3371d41b2c [poincare] Integer: fix and add tests on Factorial 2018-08-16 16:46:36 +02:00
Léa Saviot
e0dbb59c20 [poincare] Update some Power simplification methods 2018-08-16 15:39:33 +02:00
Émilie Feral
6068631b0a [poincare] Fix Integer::Division: enable to divide Integers up to
(2^32)^maxNumberOfDigits-1
2018-08-16 11:12:20 +02:00
Léa Saviot
cdb487792b [poincare] Fix Rational logger 2018-08-16 10:37:11 +02:00
Émilie Feral
c9a33d05ef [poincare] Log rational 2018-08-16 10:15:06 +02:00
Léa Saviot
800327fb2a [poincare] Fix typo 2018-08-14 18:34:38 +02:00
Émilie Feral
cf8bc636a7 [poincare] Add Integer tests 2018-08-14 18:20:53 +02:00
Émilie Feral
7f0dc24f8d [poincare] Integer: add safeguards on infinite Integer 2018-08-14 18:20:12 +02:00
Émilie Feral
503edea946 [poincare] Decimal: shallowReduce can turn into Float if we cannot
create a Rational
2018-08-14 18:17:19 +02:00
Émilie Feral
4174289d34 [poincare] Rational: shallowReduce turn them into Infinity or 0 when the
numerator or the denominator is infinity
2018-08-14 18:17:19 +02:00
Émilie Feral
5b25c0c890 [poincare] Integer, Rational, Decimal: discard premature optimizations.
Overflow on Integer, Rational, Decimal nodes have a size corresponding to
their number of digits
2018-08-14 18:17:19 +02:00
Léa Saviot
6b54f72f79 [poincare] Fix new node address computation in TreePool::moveChildren 2018-08-14 18:14:37 +02:00
Léa Saviot
22abc46f11 [poincare] Static nodes are not copied when cloned 2018-08-14 18:14:14 +02:00
Léa Saviot
06ac37cbc1 [poincare] Remove wrong asserts 2018-08-14 18:01:02 +02:00
Léa Saviot
c5a85edf8e [poincare] Remove invalid nullptr return values 2018-08-14 17:57:59 +02:00