Émilie Feral
fe8825df35
[shared] PoincareHelpers: update the complexFormat (force it to
...
Cartesian with complex input).
2019-01-10 11:42:04 +01:00
Émilie Feral
b8826b1cf4
[poincare] (-1)^(p/q) is not reduced the same way according to the
...
complex format
2019-01-10 11:42:04 +01:00
Émilie Feral
ab555888aa
[solver] Clean and add tests on non-real equations
2019-01-10 11:42:04 +01:00
Émilie Feral
d66d71a152
[solver] Fix tests on unreal equations
2019-01-10 11:42:04 +01:00
Émilie Feral
8ac623be08
[solver] ListController: display a pop up when an equation is 'unreal'
2019-01-10 11:42:04 +01:00
Émilie Feral
64d6450728
[solver] Handle unreal equations and equations whose solutions are
...
unreal
2019-01-10 11:42:04 +01:00
Émilie Feral
fc6793233f
[solver] I18n: add message 'unreal equation'
2019-01-10 11:42:04 +01:00
Émilie Feral
61d58b5dfa
[shared] SimplifyAndApproximate is used with already updated
...
ComplexFormat
2019-01-10 11:42:04 +01:00
Émilie Feral
786cefc3d4
[calculation] No special case for unreal calculation, it is handled in
...
simplication and approximation routines.
2019-01-10 11:42:04 +01:00
Émilie Feral
2052ee43ae
[apps][poincare] An expression is undefined if it is of type 'unreal' or
...
'undefined'
2019-01-10 11:42:04 +01:00
Émilie Feral
05ef7008dc
[solver] Fix bug: when the number of solutions is infinite, do not try
...
to find the solution layouts
2019-01-10 11:42:04 +01:00
Émilie Feral
ecf3f2ea0f
[poincare] Create a a flag on Expression that is set when the
...
approximation encouters a complex value
All approximation methods take the complex format into account.
2019-01-10 11:42:04 +01:00
Émilie Feral
26e2e9be0d
[poincare] Add complex format as an argument of simplification
2019-01-10 11:42:04 +01:00
Émilie Feral
aa80710f4d
[solver] Take into account the complexFormat Real
2019-01-10 11:42:04 +01:00
Émilie Feral
6fd3a155df
[calculation] Take into account the complex format 'real'
2019-01-10 11:42:04 +01:00
Émilie Feral
b6ec84f6a9
[calculation] Clean and add tests on CalculationStore
2019-01-10 11:42:04 +01:00
Émilie Feral
ab13d137fd
[settings] Update PreferencesController with new ComplexFormat::Real
2019-01-10 11:42:04 +01:00
Émilie Feral
b83ee26636
[settings] Add a message I18n: Real
2019-01-10 11:42:04 +01:00
Émilie Feral
df2f6e3b6e
[poincare] Fix tests with complex cas
2019-01-10 11:42:03 +01:00
Émilie Feral
42aad48ec4
[solver] Fix EquationStore::oneDimensialPolynomialSolve
2019-01-10 11:42:03 +01:00
Émilie Feral
c6039423a9
[poincare] When simplifying an expression, also compute the approximation from the reduced
...
expression to avoid loss of precision.
If an expression is reduced to a ComplexCartesian(a, b), we compute the
approximation from ComplexCartesian(a,b) instead of going through the
potentially complicated expression resulting from beautifying
(sqrt(a^2+b^2)*exp(i*(arctan(b/a) -Pi/2*sign(b)) for example)
2019-01-10 11:42:03 +01:00
Émilie Feral
383ac004cf
[poincare] Take into account complex format in simplify
2019-01-10 11:42:03 +01:00
Émilie Feral
9efc9e02e6
[poincare] Revert simplifyForComplexFormat
2019-01-10 11:42:03 +01:00
Émilie Feral
8f63416097
[calculation] Fix Calculation operator ==
2019-01-10 11:42:03 +01:00
Émilie Feral
79e7fb2183
[calculation] Use ParseAndSimplifyForComplexFormat instead of
...
ParseAndSimplify
2019-01-10 11:42:03 +01:00
Léa Saviot
fd34e83a56
[apps] In curve views, display floating labels when axes non visible
2019-01-10 11:42:02 +01:00
Léa Saviot
fa24a4fd54
[apps] Put the Y labels left of the Y axis
2019-01-10 11:42:02 +01:00
Léa Saviot
6b381957df
[apps] Handle cut labels in curves.
...
Draw all labels even if cut. If only the extrema horizontal labels are
drawn, pick the labels 1 and numberOfLabels-2 if the real extrema labels
will be cut.
2019-01-10 11:42:02 +01:00
Léa Saviot
9ac32cf8fe
[apps] Use standard variables in curve view
2019-01-10 11:42:02 +01:00
Léa Saviot
d40b17a45e
[apps] In curve view, draw the graduation even if the label is not drawn
2019-01-10 11:42:02 +01:00
Léa Saviot
c14483b0e7
[apps/shared] Clean some code in CurveViewRange
2019-01-10 11:42:02 +01:00
Léa Saviot
8c6ffa6d42
[apps] Fix graph X axis labels that read the same
...
Scenario: just zoom in in a graph
Fix:
- Do not truncate labels.
- Label size is computed depending on available size and number of
labels.
- If labels cannot be displayed properly, just display the minimal
and maximal labels!
2019-01-10 11:42:02 +01:00
Léa Saviot
48bccac8de
[apps/probability] Clean class NormalLaw
2019-01-10 11:42:02 +01:00
Léa Saviot
f2310a8814
[apps] Change CurveViewRange::computeGridUnit parameters
2019-01-10 11:42:02 +01:00
Léa Saviot
2aa92ecffa
[apps] Add a proof for CurveViewRange::computeGridUnit's algorithm
2019-01-10 11:42:02 +01:00
Léa Saviot
a65bdb1dfc
[apps] Increase the Y axis label buffer sizes in curve views
2019-01-10 11:42:02 +01:00
Léa Saviot
d76c77f323
[apps] Prevent too much zooming on curve views
...
This removes curve drawings that are ugly because of float imprecision,
such as cos(x)^2+sin(x)^2
2019-01-10 11:42:02 +01:00
Léa Saviot
36faebab3d
[apps] Fix some KDCoordinate to float conversions
2019-01-10 11:42:02 +01:00
Léa Saviot
8de74f4158
[apps] Fix one pixel in CurveView::stampAtLocation
2019-01-10 11:42:02 +01:00
Léa Saviot
4c6a5c9819
[apps] When zooming on a curve, do not change the yRange
...
It changed because of the zoom banner
2019-01-10 11:42:02 +01:00
Léa Saviot
cea413e91d
[apps] Fix Orthonormal setting in graphs
...
It was not perfectly orthormal.
2019-01-10 11:42:02 +01:00
Léa Saviot
020e459379
[apps] Clean shared/interactive_curve_view_range.cpp
2019-01-10 11:42:02 +01:00
Léa Saviot
c50aba1873
[apps] Clean shared/initialisation_parameter_controller.cpp
2019-01-10 11:42:02 +01:00
Léa Saviot
cf79795540
[apps] Fix blob left of screen when drawing curves
...
Try for instance f(x)=cos(x) in Graph
2019-01-10 11:42:02 +01:00
Léa Saviot
058b49a063
[apps/Seq/Reg] Do not pan to cursor if no yAuto
2019-01-10 11:42:02 +01:00
Léa Saviot
18381fd334
[apps] Add FLT_EPSILON in float comparisons in interactive_curve_vw_rge
...
This fixes the removal of yAuto when displaying the function f(x)=cos(x)
2019-01-10 11:42:02 +01:00
Léa Saviot
303ab7f009
[apps/graph] Clean code in graph/graph_controller.cpp
2019-01-10 11:42:02 +01:00
Léa Saviot
37ac12b1da
[apps/graph] When changing the window manually, do not pan to cursor
2019-01-10 11:42:02 +01:00
Léa Saviot
531b555949
[apps/sequence] Fix method that should be virtual pure
...
The following scenaro crashed in DEBUG=1 and did not resize the window
correctly in DEBUG=0.
Got to sequence
u(n)=n
Go to sequence/graph
Remove yAuto
Go to sequence/list
v(n) = cos(n)
remove u(n)
Go to sequence/graph
2019-01-10 11:42:02 +01:00
Léa Saviot
de3d200b81
[apps/graph/reg/seq] Do not switch on y auto each time graph appears
2019-01-10 11:42:02 +01:00