Commit Graph

5098 Commits

Author SHA1 Message Date
É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
537cae5839 [solver] Memory issue: setEven on cells can lead to relayouting cells.
The cell expression layouts have to be updated before calling any
relaod.
2018-07-18 10:32:46 +02:00
Léa Saviot
42d2a06eee [apps/reg] Fix cursor navigation bug
When going UP, the cursor was sometimes stuck on a point on a regression, switching
between the point and the regression endlessly. Example data set:
X1 = [1, 2, 3, 4, 5] and Y1 = [1, 5, 6, 77, 5]
2018-07-18 10:32:46 +02:00
Léa Saviot
68d915fb3e [apps/reg] Fix window sizing: cursor appears even with big bannerview 2018-07-18 10:32:46 +02:00
Léa Saviot
b9992e5eb6 [apps/reg] Keep cursor on same series when changing a regression type 2018-07-18 10:32:46 +02:00
Léa Saviot
682f12a1ef [apps/regression] Fix simplifiedExpression memoization
The model does not keep a pointer to the simplifiedExpression, the
method calling simplifiedExpression should delete it afterwards
2018-07-18 10:32:46 +02:00
Émilie Feral
448f5b359c [regression] Fix memory leak 2018-07-18 10:32:46 +02:00
Léa Saviot
91f87397f4 [apps/reg] Change Value not reached by regression message 2018-07-18 10:32:46 +02:00
Léa Saviot
32f0d4376b [apps/reg] Remoce TODO comment 2018-07-18 10:32:46 +02:00
Léa Saviot
2d43fd41ff [apps/reg] Better comments 2018-07-18 10:32:46 +02:00
Léa Saviot
6e888fb718 [apps/reg] Recompute trigonometric regressions if angle unit changed 2018-07-18 10:32:46 +02:00
Léa Saviot
91572b9c93 [apps/reg] Lower the maximal number of regression iterations 2018-07-18 10:32:46 +02:00
Léa Saviot
91430c0040 [apps/reg] Sine regression is now a*sin(b*x+c)+d 2018-07-18 10:32:46 +02:00
Léa Saviot
f031a642b8 [apps/reg] Cap the number of matrix modifications 2018-07-18 10:32:46 +02:00
Léa Saviot
c56652cda9 [apps/reg] Algorithm more robust against non invertible matrices 2018-07-18 10:32:46 +02:00
Léa Saviot
c68cd9d2ba [apps/reg] Fix x prediction given y
The expressions need to be simplified before computing intersections
2018-07-18 10:32:46 +02:00
Léa Saviot
fc7fea3820 [tests/regression] Add special regression tests scenarii 2018-07-18 10:32:46 +02:00
Léa Saviot
bfa69cb4f1 [apps/reg] Reinit cursor when model changes 2018-07-18 10:32:46 +02:00
Léa Saviot
7a114f525e [apps/reg] Implement numerical level set 2018-07-18 10:32:46 +02:00
Léa Saviot
46458e4847 [apps/reg] Add tests 2018-07-18 10:32:46 +02:00
Léa Saviot
4f00d42121 [apps/reg] Clean and comment code 2018-07-18 10:32:46 +02:00
Léa Saviot
5beed2de1d [apps/regression] Fix power derivate formula 2018-07-18 10:32:46 +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
428b60771b [apps/reg] Calculation column size depends on regression type 2018-07-18 10:32:46 +02:00