É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