Commit Graph

1406 Commits

Author SHA1 Message Date
É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
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
175c070dd1 [poincare] Implement cos/acos in degree in complex domain 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
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
b0d94f6ead [poincare] Decimal: templatize Decimal constructor on float/double 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
Léa Saviot
74e8091594 [poincare] Fix layout insertion in empty horizontal layouts 2018-07-18 11:18:46 +02:00
Léa Saviot
1b3ebedc18 [poincare] Add bracket layout and its derivates 2018-07-18 11:18:38 +02:00
Léa Saviot
7ed836d12b [apps/reg] Fix non invertible matrix condition 2018-07-18 10:32:46 +02:00
Léa Saviot
e174e33480 [apps/reg] Regression computations on arrays, not Expression::Matrix 2018-07-18 10:32:46 +02:00
Émilie Feral
77df201905 [poincare] Implement a float/double version of Matrix::inverse 2018-07-18 10:32:46 +02:00
Léa Saviot
d7a8ca4093 [poincare] Fix layout cloning (invalidate memoized data) 2018-07-13 16:36:45 +02:00
Léa Saviot
f6c1640800 [poincare] Left and right parenthesis 2018-07-13 16:36:29 +02:00
Léa Saviot
cfe3e7aa91 [poincare] ProductLayoutNode 2018-07-13 14:39:29 +02:00
Léa Saviot
a08b00aa5f [poincare] Sequence and Sum layouts 2018-07-13 14:30:20 +02:00
Léa Saviot
4eac450787 [poincare] Put layouts on expressions 2018-07-13 13:07:51 +02:00
Léa Saviot
9b7987c0bb [poincare] LayoutCursor::addEmptyTenPowerLayout 2018-07-13 11:13:35 +02:00
Léa Saviot
2bb5c3d831 [poincare] LayoutCursor::addEmptyExponentialLayout 2018-07-13 11:10:55 +02:00
Léa Saviot
4eb5b4355a [poincare] LayoutCursor::addEmptyPowerLayout 2018-07-13 10:43:39 +02:00
Léa Saviot
dc18f59688 [poincare] Rename replaceWithAndMoveCursor -> replaceWith 2018-07-13 10:01:10 +02:00
Léa Saviot
285537075d [poincare] By default, Layout::removeChild replaces it with EmptyLayout 2018-07-12 18:02:06 +02:00
Léa Saviot
ea10652831 [poincare] Fix TreeRef methods 2018-07-12 18:01:34 +02:00
Léa Saviot
fca5a5c76f [poincare] Fix TreeReference::setTo 2018-07-12 17:26:28 +02:00
Léa Saviot
7cf3210738 [poincare] Add VerticalOffsetLayoutNode 2018-07-12 14:04:10 +02:00
Léa Saviot
a6f1a2d08d [poincare] Remove unnecessary return value 2018-07-12 11:12:28 +02:00
Léa Saviot
4e4c1bb2ad [poincare] Fix TreeReference::replaceTreeChildAtIndex 2018-07-12 10:48:12 +02:00
Léa Saviot
f48c9f53d2 [poincare] Fix TreeReference::swapChildren 2018-07-12 10:48:12 +02:00
Léa Saviot
9d5914a268 [poincare] Change parameters order in TreePool::move methods 2018-07-12 10:48:12 +02:00
Léa Saviot
8848b0df8b [poincare/layouts] Clean + complete Horizontal, Char, Empty, AllocaFail 2018-07-12 10:48:12 +02:00
Léa Saviot
d0b88156cd [poincare/layout] Put collapseSiblings on LayoutRefs 2018-07-12 10:48:12 +02:00
Léa Saviot
b8f555e8fd [tree] Remove dead code 2018-07-11 17:37:37 +02:00
Léa Saviot
b2ea3caefa [tree] Rename collapseSiblingsAndMoveCursor -> collapseSiblings 2018-07-11 17:25:53 +02:00
Léa Saviot
ddddafe626 [tree] Put pool modification methods in references, not nodes 2018-07-11 17:25:26 +02:00
Léa Saviot
18bd8ea21b [tree] SerializableNode and Ref 2018-07-10 17:10:03 +02:00
Léa Saviot
30a2b681fa [tree] Clean some allocationFailureNode methods on TreeNode 2018-07-10 16:19:05 +02:00
Émilie Feral
3eabf77ed5 [poincare] Templatize iterators on TreeNode 2018-07-10 14:59:19 +02:00
Léa Saviot
f9a1c8f9f5 [poincare] Empty and Char Layout translation end 2018-07-06 15:25:47 +02:00
Léa Saviot
74e4a83e59 [poincare] Add methods on LayoutCursor 2018-07-06 15:15:42 +02:00
Léa Saviot
9e000c5b45 [poincare] Fix cursor position when adding allocation failure 2018-07-06 15:15:27 +02:00
Léa Saviot
d7ff097826 [poincare] EmptyLayoutNode 2018-07-06 14:03:43 +02:00
Léa Saviot
9f3bf79955 [poincare] Add methods on LayoutCursor 2018-07-06 13:40:36 +02:00