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