Commit Graph

1406 Commits

Author SHA1 Message Date
Léa Saviot
ed090577a3 [poincare] Init TreeNodes so they can give their size as soon as created 2018-11-22 17:35:34 +01:00
Léa Saviot
a8844d9e72 [poincare] Rename GhostReference as Ghost 2018-11-16 14:13:17 +01:00
Léa Saviot
8d9ac798db [poincare] Dividing 3E-2 in Natural edition should give (3E-2)/| 2018-11-13 15:51:58 +01:00
Lionel Debroux
eb5b525709 [poincare] Make several methods more inlinable, so as to go a bit further than LTO can.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2018-10-23 11:49:09 +02:00
Lionel Debroux
771c5a00d2 [poincare] Mark classes final, when it does not hurt size.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2018-10-23 11:49:09 +02:00
Lionel Debroux
1a8c6b6ae9 [poincare, escher, ion, apps] Split the huge umbrella header poincare.h, to reduce build time.
This should be a NFC, but surprisingly, it also reduces size... so what does it change ?
2018-10-23 11:49:09 +02:00
Romain Goyet
c183f0147e [kandinsky] Get rid of KDText 2018-10-11 16:44:02 +02:00
Romain Goyet
f8beae3b86 [kandinsky] Move to KDFont 2018-10-11 16:44:02 +02:00
Émilie Feral
78ccb69b59 [poincare] Create Expression::reduceChildren and assert that deepReduce
is not called on a Matrix
2018-10-08 16:37:57 +02:00
Émilie Feral
3b42ddf546 [poincare] Fix Trigonometry::RoundToMeaningfulDigits: takes the argument
into account to avoid sin(1E-15) = 0
2018-10-05 14:56:27 +02:00
Émilie Feral
d0e49ba1d0 [poincare] Decimal comparison: 1.000E10 == 1E10 2018-09-26 16:18:56 +02:00
Émilie Feral
0af8f273fc [poincare] Integer is not an Expression anymore 2018-09-26 16:18:56 +02:00
Léa Saviot
7da49646ce [poincare] Make Complex<T> constructors explicit. 2018-09-26 14:38:34 +02:00
Léa Saviot
b8408d2575 [poincare] Remove SerializationHelperInterface
All TreeNodes are now serializable. This removes a pointer to virtual
table from the nodes (for instance, an ExpressionNode was 24o, now 16o).
It also remove 4K of code in the binary.
2018-09-25 17:55:41 +02:00
Émilie Feral
2f259efe86 [poincare] Clean useless enum entry in Preferences 2018-09-25 15:13:31 +02:00
Émilie Feral
b617ea36d1 [settings] EditionMode: display the natural mode first 2018-09-25 15:13:31 +02:00
Léa Saviot
8105a000ab [poincare] Add Upper case to Poincare static Init function 2018-09-25 10:42:47 +02:00
Léa Saviot
5b5211be24 [poincare] Tidy Integer buffer on Poincare exception 2018-09-25 10:42:47 +02:00
Émilie Feral
1577063ad2 [poincare] Logarithm: simplify log_b(r) -> c+log_b(r') with r = b^c*r' 2018-09-20 15:55:22 +02:00
Émilie Feral
0e1fd1bad7 [poincare] Arithmetic::PrimeFactorization return the number of prime
factors found
2018-09-20 15:55:22 +02:00
Léa Saviot
a5fba93ea1 [poincare] Re-order Expression friends 2018-09-20 11:24:31 +02:00
Léa Saviot
d586797ecb [poincare] Remove TODOs and superfluous method 2018-09-20 11:20:14 +02:00
Léa Saviot
116ef9ee39 [poincare] Fix typo 2018-09-20 11:19:52 +02:00
Léa Saviot
369b333692 [poincare] LayoutCursor methods that take/return nodes are private 2018-09-20 11:18:11 +02:00
Émilie Feral
fd56d936c7 [apps] Memoize matrix layouts in VariableBoxController 2018-09-20 11:07:07 +02:00
Léa Saviot
95a9651f65 [poincare] Comment about TreeHandle iterator 2018-09-20 10:47:05 +02:00
Léa Saviot
0e5fb79212 [poincare] Use children() iterator instead of for(int i=0;i++) loop 2018-09-20 10:26:30 +02:00
Léa Saviot
c81df319fe [poincare] Remove comment 2018-09-20 09:43:14 +02:00
Émilie Feral
ba5bdcccc4 [poincare] Fix tests with new Rational constructor 2018-09-19 11:46:54 +02:00
Émilie Feral
be348d8539 [poincare] Rational constructor: avoid useless copy 2018-09-19 11:23:11 +02:00
Émilie Feral
c02691a84b [poincare] Float can be serialize 2018-09-18 18:22:02 +02:00
Émilie Feral
2c62c30287 [escher] Fix LayoutField: reload was broken because the previous layout
size could not be computed anymore
2018-09-18 17:36:58 +02:00
Léa Saviot
1ec9fd789e [poincare] Use non pilfering Integer constructor in Rational and Decimal 2018-09-18 17:16:18 +02:00
Émilie Feral
365b145cf3 [poincare] Change names: LayoutReference-->Layout 2018-09-18 16:29:44 +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
7722077e69 [poincare] Avoid useless copy in Rational constructor 2018-09-18 10:05:46 +02:00
Émilie Feral
d17b0f1afb [poincare] Get rid of char table of variable size 2018-09-17 17:14:43 +02:00
Léa Saviot
4aa2c07321 [poincare] Assert that id is not NoNodeIdentifier
Instead of checking that node is not nullptr, which triggers a false
assertion in node()
2018-09-17 11:29:47 +02:00
Émilie Feral
e0495de6af [poincare] Change name: TreeByReference --> TreeHandle 2018-09-14 17:22:36 +02:00
Émilie Feral
8cffbdd7de [poincare] Change name of files: *_layout_node --> *_layout 2018-09-14 16:57:12 +02:00
Émilie Feral
616e4c0bcc [poincare] Change name: LayoutRef --> LayoutReference 2018-09-14 16:57:12 +02:00
Émilie Feral
3310743151 [poincare] Integer: fix extractedInt: make a special case for 0 2018-09-14 16:19:21 +02:00
Émilie Feral
e9a14de101 [poincare] Integer: revert uint8_t--> size_t wrongly changed 2018-09-14 16:06:58 +02:00
Émilie Feral
99d72a8b68 [poincare] I should be used only for std::complex 2018-09-14 15:47:09 +02:00
Léa Saviot
67606d41f5 [poincare] Remove code that handled Static nodes 2018-09-14 15:15:07 +02:00
Léa Saviot
2be65c9b1b [poincare] Use small variable types in Nodes 2018-09-14 14:50:19 +02:00
Émilie Feral
fbbf883b92 [poincare] Decimal: fix log 2018-09-14 11:55:09 +02:00
Léa Saviot
230bb91374 [poincare] Remove unneeded using operator 2018-09-14 11:28:13 +02:00
Léa Saviot
642d19c1e6 [poincare] remove old comment 2018-09-14 11:24:41 +02:00
Léa Saviot
fdba006e5b [poincare] Use const and & in TreeByReference != and == operators 2018-09-14 11:24:11 +02:00