Commit Graph

5275 Commits

Author SHA1 Message Date
Léa Saviot
aebc8d3330 [poincare] GridLayoutNode keep track of its number of children
Before, the number of children was only computed with the number of rows
and columns, but we might need to know the real number of added children
during construction.
2018-07-25 16:57:31 +02:00
Léa Saviot
fd490e9d9b [poincare] Clean BracketPairLayoutNode and GridLayoutNode 2018-07-25 16:54:55 +02:00
Léa Saviot
a8de1f6c89 [poincarê] BinomialCoefficientLayoutNode 2018-07-25 10:59:46 +02:00
Léa Saviot
b9b153d531 [poincare] Complete GridLayout class so it's not virtual
We are then able to build GridLayoutRef objects, needed for
MatrixLayouts
2018-07-25 10:25:44 +02:00
Léa Saviot
bd3a88b007 [poincare] GridLayoutNode 2018-07-20 12:20:28 +02:00
Léa Saviot
cddbdaa71d [poincare] FractionLayoutNode 2018-07-20 10:50:53 +02:00
Léa Saviot
dac017e3c9 [poincare] Fix HorizontalLayoutNode::willAddSibling 2018-07-20 09:51:05 +02:00
Émilie Feral
55b3ad0b73 [poincare] LayoutReference: change clone implementation to avoid
useless retain count update
2018-07-19 16:49:55 +02:00
Léa Saviot
3c0a5c38d1 [poincare] IntegralLayoutNode 2018-07-19 16:49:41 +02:00
Léa Saviot
e0790f1fd0 [poincare] CondensedSumLayoutNode 2018-07-19 14:59:25 +02:00
Léa Saviot
a3032e5ec3 Merge branch Tree into master 2018-07-19 14:01:02 +02:00
Émilie Feral
3c44a5540c [poincare] Tree: enable to create node of variable size given in
parameters
2018-07-19 10:36:59 +02:00
Léa Saviot
1137a16750 [poincare] ConjugateLayoutNode 2018-07-19 10:36:59 +02:00
Léa Saviot
9112feba6c [poincare] NthRootLayoutNode 2018-07-19 10:36:59 +02:00
Léa Saviot
fba21344b1 [poincare] Put margins in sequence list 2018-07-19 10:16:31 +02:00
Léa Saviot
d890168241 [poincare] Change all subscripts font-size to base layout font-size 2018-07-19 10:16:31 +02:00
Léa Saviot
7735b4305b [poincare] Change sequence symbols subscript font size 2018-07-19 10:16:31 +02:00
Léa Saviot
63ebf895df [apps/sequence] Change method name 2018-07-19 09:55:46 +02:00
Léa Saviot
5b67269e72 [poincare] Fix SequenceToolbox special cells display when scrolling
When scrolling from "v(n+1)" to "abs(x)", the "v(n+1)" cell disappeared
2018-07-19 09:55:46 +02:00
Émilie Feral
0bfe78e568 [poincare] Decimal: fix the number of significative digits displayed 2018-07-18 17:09:07 +02:00
Émilie Feral
2791c8bdef [poincare] Fix tests 2018-07-18 17:09:07 +02:00
Émilie Feral
1455923904 [poincare] Decimal: fix error in convert to text 2018-07-18 17:09:07 +02:00
Émilie Feral
1e0836ed74 [poincare] Fix tests 2018-07-18 17:09:07 +02:00
Émilie Feral
77047a173b [liba] define fmod 2018-07-18 17:09:07 +02:00
Émilie Feral
6d16bb62a8 [poincare] Wrap the std::complex methods in Poincare to choose the right branch cut
and avoid residual real or imaginary pars due to lost precision
2018-07-18 17:09:07 +02:00
Émilie Feral
042beb1028 [poincare] Move 'complexToExpression' to Evaluation class 2018-07-18 17:09:07 +02:00
Émilie Feral
0c61e74675 [poincare] Evaluation: force 0 imaginary/real parts to be 0 and not -0
to avoid using two differents conventions on branch cuts
2018-07-18 17:09:07 +02:00
Émilie Feral
66e87361e4 [poincare] Add comments on branch cuts in complex plan (for acos, asin,
atan, acosh, asinh, atanh, log) and add tests
2018-07-18 17:09:07 +02:00
Émilie Feral
405f8f2cf2 [poincare] Logarithm: enable Logarithm with negative arguments 2018-07-18 17:09:07 +02:00
Émilie Feral
67f703086d [poincare] Add tests on power evaluation 2018-07-18 17:09:07 +02:00
Émilie Feral
d7b3090095 [poincare] Cheat on sqrt, cos, sin, tan, pow function to avoid numerical
results as e^(i*pi) = 1+1E-16*i or cos(pi/2) = 1E-16
2018-07-18 17:09:07 +02:00
Émilie Feral
f031b76e46 [poincare] Add tests on determinant and inverse for complex matrix 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
b9cc0c8d2b [poincare] Add tests on logarithm complex, trigo complex 2018-07-18 17:09:07 +02:00
Émilie Feral
175c070dd1 [poincare] Implement cos/acos in degree in complex domain 2018-07-18 17:09:07 +02:00
Émilie Feral
d89b6ef85a [poincare] Fix tests 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
e7619633bd [liba] Add fmax in math.h header 2018-07-18 16:32:49 +02:00
Émilie Feral
2a05247629 [liba] Add hypot in math.h header 2018-07-18 16:32:49 +02:00
Émilie Feral
b0d94f6ead [poincare] Decimal: templatize Decimal constructor on float/double 2018-07-18 16:32:49 +02:00
Émilie Feral
9fcb22ef8e [libaxx] Add complex c++ library 2018-07-18 16:32:49 +02:00
Émilie Feral
e273c6e863 [poincare] Move FailedAllocationStaticNode implementation from Reference
to Node and factorize part of code
2018-07-18 14:07:58 +02:00
Léa Saviot
8cffc647b7 [poincare] Use Floor and Ceiling layouts 2018-07-18 11:18:46 +02:00