Commit Graph

349 Commits

Author SHA1 Message Date
Romain Goyet
4f1d74f44b [build] Use an out-of-tree build 2019-03-06 15:00:59 +01:00
Émilie Feral
24c9617a89 [poincare] Templatize TreeHandle Builders 2019-02-21 11:29:35 +01:00
Émilie Feral
7b5f3c570d [poincare] Change the way Expression are built 2019-02-21 11:29:35 +01:00
Émilie Feral
4dc513e5c5 [poincare] Power: fix (x+1)^0 reduction when the Reduction target is
System
2019-02-14 10:47:05 +01:00
Léa Saviot
86f03b800d [poincare] Clean the TrigonometryCheatTable
It caused Travis compilation problems
2019-01-21 11:22:55 +01:00
Léa Saviot
b30c197d36 [test/poincare] Tests on expression order 2019-01-10 11:42:05 +01:00
Émilie Feral
c3ad0e027c [poincare] Create class Unreal 2019-01-10 11:42:04 +01:00
Émilie Feral
8a00aa16cc [poincare] Clean: remove complexCartesian and complexPolar methods 2019-01-10 11:42:03 +01:00
Émilie Feral
3292bdfd44 [poincare] Sketch of complex reduction as part of the reduce routine 2019-01-10 11:42:03 +01:00
Émilie Feral
d95585956c [poincare] Implement Expression::realPart, Expression::imaginaryPart,
Expression::complexNorm, Expression::complexArgument
2019-01-10 11:42:03 +01:00
Émilie Feral
88a2751e6b [poincare] Add SignFunction class 2019-01-10 11:42:02 +01:00
Léa Saviot
f6a5759a16 [poincare] Fix the replacement of unknowns in the storage
In the Graph app, define f(x) = cos(x) and g(x)=diff(f(x),x,x).
The graph and table are perfectly computed, but in the Calculation apps,
g(5) fails.
2018-12-19 09:40:37 +01:00
Émilie Feral
2bdce9dd82 [poincare] Power: approximation of power of positive real and real is
real. Fix 10^1000 = inf instead of undef
2018-11-23 12:04:09 +01:00
Émilie Feral
6530d87805 [poincare] Test: divide store tests in store and user variable tests 2018-11-23 12:04:08 +01:00
Ruben Dashyan
61b1b8a09d [poincare] Add Expression::FunctionHelper class
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Ruben Dashyan
d0f2a54d6d [poincare] Second version of homemade parser
Using function stack instead of auxiliary stack.
2018-11-23 12:04:04 +01:00
Ruben Dashyan
8d203aaf48 [poincare] Start implementing a new parser 2018-11-23 12:04:04 +01:00
Émilie Feral
8770c9010a [poincare] Create Constant inheriting from SymbolAbstrac
pi, e and i are not symbols anymore but constant
2018-11-23 12:04:04 +01:00
Léa Saviot
da226f7861 [tests] Fix GlobalContext namespace and duplicate test 2018-11-23 12:04:01 +01:00
Léa Saviot
79e962f459 [poncare/apps] Move GlobalContext from Poincare to Apps::Shared 2018-11-23 12:04:00 +01:00
Léa Saviot
6197ebd4c5 [poincare] SymbolAbstract is parent of Symbol and Function 2018-11-23 12:04:00 +01:00
Léa Saviot
522f5e781e [poincare] Function expression 2018-11-23 12:03:58 +01:00
Émilie Feral
39d47577a0 [poincare] Add tests on Decimal 2018-09-26 16:18:56 +02:00
Léa Saviot
5ee4d1dd95 [poincare] Add poincare/test/tree/helpers.o in Makefile 2018-09-21 16:14:12 +02:00
Léa Saviot
59c8c801c5 [poincare] Clean compilation warnings in poincare/test 2018-09-21 16:00:21 +02:00
Émilie Feral
c02691a84b [poincare] Float can be serialize 2018-09-18 18:22:02 +02:00
Émilie Feral
365b145cf3 [poincare] Change names: LayoutReference-->Layout 2018-09-18 16:29:44 +02:00
Léa Saviot
d2c84bea30 [poincare] Add tests on Helpers::Rotate 2018-09-18 15:26:29 +02:00
Léa Saviot
1852a71f95 [poincare] Remove TreePool::insert method, use Helper::Rotate instead
This removes the use of an enormous buffer on the stack and uses instead
a linear algorithm with one temporary data.
2018-09-18 15:26:29 +02:00
Émilie Feral
e0495de6af [poincare] Change name: TreeByReference --> TreeHandle 2018-09-14 17:22:36 +02:00
Émilie Feral
d1e9c460ca [poincare] Discard floor_layout.cpp which is empty 2018-09-14 17:01:36 +02:00
Émilie Feral
8cffbdd7de [poincare] Change name of files: *_layout_node --> *_layout 2018-09-14 16:57:12 +02:00
Émilie Feral
8368950f83 [poincare] Clean Makefile 2018-09-13 16:05:32 +02:00
Léa Saviot
8f7dee722c [poincare] Add FractionLayout tests 2018-09-12 17:12:38 +02:00
Émilie Feral
7520bdbb3c [poincare] Add test on VerticalOffsetLayout 2018-09-12 15:57:25 +02:00
Émilie Feral
122a8b6824 [poincare] Add Parenthesis Layout tests 2018-09-12 15:41:46 +02:00
Romain Goyet
9b177e8501 [poincare] use Poincare::ExceptionCheckpoint to handle exceptions 2018-09-12 14:11:20 +02:00
Léa Saviot
aaf5cee967 [poincare] make tests compile 2018-09-10 09:54:37 +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
392fa7a43d [poincare] UninitializedGhost node
Needed to look for its parent in replaceWithGhost
2018-09-03 15:30:12 +02:00
Émilie Feral
9681101ab8 [poincare] Fix Tree/test 2018-09-03 10:46:35 +02:00
Léa Saviot
1765430acc [poincare] Remove TreeByValue 2018-08-30 14:29:50 +02:00
Léa Saviot
e9be5c6dbf [poincare] Init Poincare by creating a shared TreePool 2018-08-30 10:53:06 +02:00
Émilie Feral
99c0d25e7d [poincare] Add tests: nth_root_layout, simplify_mix, subtraction,
symbol
2018-08-29 17:06:35 +02:00
Émilie Feral
6f97f5babc [poincare] Fix tests convert_expression_to_text 2018-08-29 16:52:31 +02:00
Émilie Feral
c720bb7c36 [poincare] Makefile: add a compile FLAG POINCARE_TREE_LOG 2018-08-29 16:23:40 +02:00
Émilie Feral
a9ea1900d9 [poincare] Fix tests: complex_to_expression 2018-08-29 16:19:24 +02:00
Émilie Feral
c9aa35fe82 [poincare] Fix binomial_coefficient_layout test 2018-08-29 15:41:02 +02:00
Émilie Feral
efcccb282a [poincare] Fix Arithmetic tests 2018-08-29 15:22:37 +02:00