Commit Graph

4112 Commits

Author SHA1 Message Date
Léa Saviot
4e6378fe18 [test/regression] Add a logistic test 2020-02-12 15:13:16 +01:00
Léa Saviot
a8ead6b66e [apps/regression] Better initialisation of logistic model coefficients
It provides a better fit for:
x = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0}
y = {5.0, 9.0, 40.0, 64.0, 144.0, 200.0, 269.0, 278.0, 290.0, 295.0}
(coeffs should be {64.9, 1.0, 297.4})
2020-02-12 15:13:16 +01:00
Léa Saviot
3747b5a4b0 [apps/regression] Virtualize only the specialized part of initCoefs 2020-02-12 15:13:16 +01:00
Ruben Dashyan
5787d50a45 Revert "[apps/calculation/edit_expression_controller] Define viewWillAppear"
This reverts commit 960736203ff2f816688868e3397d178d931fa3c3.
2020-02-12 15:13:16 +01:00
Émilie Feral
3a19939a64 [apps/regression] Missing ; 2020-02-12 15:13:16 +01:00
Ruben Dashyan
89aa0ac302 [apps/regression/graph_controller] Clean moveCursorHorizontally 2020-02-12 15:13:16 +01:00
Ruben Dashyan
2fb6824947 [apps/shared/interactive_curve_view_controller] Rewrite comment about addMargin 2020-02-12 15:13:16 +01:00
Ruben Dashyan
8cb2b99254 [apps/graph/calculation_graph_controller] Remove handleLeftRightEvent 2020-02-12 15:13:16 +01:00
Ruben Dashyan
7fce83d1dd [escher/expression_field] Detect whether view's height did change by memoizing the height
Such changes used to be detected only when the height was equal to the
maximal allowed value, by detecting whether the height shifted from or
to that maximal value. For that purpose, a boolean was memoized in
InputViewController and in Calculation::EditExpressionController.
2020-02-12 15:13:16 +01:00
Ruben Dashyan
b832a9e9f4 [apps/calculation/edit_expression_controller] Define viewWillAppear 2020-02-12 15:13:16 +01:00
Ruben Dashyan
b624e47ccb [apps/calculation/edit_expression_controller] Remove dummy viewDidDisappear
HistoryController does not override ViewController's default
viewDidDisappear.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
7a49e23e3b [apps/calculation] Factor HistoryController::reload 2020-02-12 15:13:15 +01:00
Émilie Feral
e550712ccc [apps/settings] Separation is always below the CellWithSeparator 2020-02-12 15:13:15 +01:00
Émilie Feral
f7fc8da94d [apps/settings] Use a MessageTableCellWithGaugeWithSeparator in the main
controller to mimic two tables
2020-02-12 15:13:15 +01:00
Émilie Feral
953c9dfe64 [apps/settings] Create a parent class CellWithSeparator to
MessageTableCellWithEditableTextWithSeparator for future factorization
2020-02-12 15:13:15 +01:00
Émilie Feral
3627dc0c0f [apps/code] Choose editor font size from GlobalPreferences 2020-02-12 15:13:15 +01:00
Émilie Feral
c2dabf6510 [apps/code] Choose console text size from GlobalPreferences 2020-02-12 15:13:15 +01:00
Émilie Feral
b3d45833d0 [apps/settings] Add a menu "Font size" in settings 2020-02-12 15:13:15 +01:00
Émilie Feral
d48006f994 [apps/settings] Add messages about font sizes 2020-02-12 15:13:15 +01:00
Émilie Feral
39a6fdaf1c [apps/settings] MainController: get rid of magic numbers 2020-02-12 15:13:15 +01:00
Émilie Feral
4a41ec0fda [apps] GlobalPreferences: add font (Large or Small) 2020-02-12 15:13:15 +01:00
Léa Saviot
1434158bee [apps/graph] Faster curve navigation after some time
If the user presses the LEft/Right keys for a long time, the cursor will
move faster.
2020-02-12 15:13:15 +01:00
Léa Saviot
0630ae55c7 [apps/escher] Force expressionField relayout when size changed
Scenario: in Calculations and in Graph, edit the layout field by adding
many parentheses. When the layout field has maximal height but the
parentheses are bigger than it, ther is a margin that appears at the
bottom, because we did not relayout the layout field to optimize
redrawing. We need to force the relayout, otherwise as the layout field
stays we the same frame, the relayouting is not properly done.
2020-02-12 15:13:15 +01:00
Léa Saviot
9f018eb9d9 [escher/view] setFrame and layoutSubviews can be forced 2020-02-12 15:13:15 +01:00
Ruben Dashyan
310e1ab829 [apps/calculation/edit_expression_controller] Make ContentView View-specific methods private 2020-02-12 15:13:15 +01:00
Léa Saviot
a233b02623 [apps/regression] Better coef initialisation for trigonometric_model
It improves the trigonometric fit of
x = {0.0, 0.975, 1.97, 2.945, 3.971, 4.887, 5.924, 6.964, 7.979, 8.974, 9.998};
y = {-23.784, -23.322, -28.322, -18.422, -4.813206, 7.146241, 16.631, 16.632, 9.209189, -6.050863, -19.659};
2020-02-12 15:13:15 +01:00
Léa Saviot
0055a59c75 [apps/banner_view] Fix minimalSizeForOptimalDisplay
Should not use m_frame as it may not be set properly. By default, a
banner view wants to take the whole screen width
This fixes the following scenario :
Draw the polar curve r=12. When navigating from the tab to the graph,
the curve was visibly redrawn because the banner view height was not
computed properly.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
491a93d8f1 [apps/calculation/edit_expression_controller] Access view more directly 2020-02-12 15:13:15 +01:00
Ruben Dashyan
59e6c9d324 [apps/calculation/edit_expression_controller] view() does not return nullptr 2020-02-12 15:13:15 +01:00
Ruben Dashyan
227c9a8d68 [apps/calculation/edit_expression_controller] Inline view() in header 2020-02-12 15:13:15 +01:00
Ruben Dashyan
7630460424 [apps/code] Add methods on lists to python toolbox catalog 2020-02-12 15:13:15 +01:00
Ruben Dashyan
a3053acac4 [apps/shared/expression_model] Add TODOs for later 2020-02-12 15:13:15 +01:00
Ruben Dashyan
c3cf5c1ef4 Rename UCodePointUnknownX to UCodePointUnknown 2020-02-12 15:13:15 +01:00
Ruben Dashyan
3183ca7d7e Replace Poincare::Function unknown earlier (in Context) 2020-02-12 15:13:15 +01:00
Ruben Dashyan
a52fd2c697 [apps/graph/graph_view] Do not draw the functions with undef expression 2020-02-12 15:13:15 +01:00
Ruben Dashyan
34aa27ea08 [apps/shared/continuous_function] Simplify templatedApproximateAtParameter 2020-02-12 15:13:15 +01:00
Ruben Dashyan
5750d00574 [apps/shared] Remove redundant call to isCircularlyDefined
ExpressionModel::expressionReduced does already call isCircularlyDefined
and returns undef if true.
The isCircularlyDefined method is then made private.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
9480bcacd5 [apps/*/expression_model] Make expressionAddress private 2020-02-12 15:13:15 +01:00
Léa Saviot
0f52335183 [apps/code] Fix syntaxic coloration
This fixes the coloration of:
"123\n"+1
"\n\n"+1

For strings, lex->vstr.len gave the wrong value because it had already
translated escaped chars, so "\n" would be one char long.
2020-02-12 15:13:15 +01:00
Émilie Feral
f68ec6a28d [apps] VariableBoxController: fix the maximal number of displayed cells 2020-01-06 16:26:42 +01:00
Léa Saviot
00d28108fb [apps] Fix i18n to be able to build standalone apps
Example failing build: make PLATFORM=simulator EPSILON_APPS=regression
2020-01-06 15:15:49 +01:00
Léa Saviot
849b9009d2 [apps/var_box_controller] Fix k_maxNumberOfDisplayedRows computation 2020-01-06 14:18:35 +01:00
Léa Saviot
fd63f70f6d [apps/variable_box_controller] Fix memoization
There was a broken assertion:
Create at least 7 functions
Go to the calculation app
Open the variable box and delete the last function
2020-01-06 14:18:35 +01:00
Émilie Feral
f3c6aab669 [apps/calculation] HistoryViewCell: when reloading the entire table due
to a cell selection, the cell used for the selected row might change. We
thereby have to update the selected cell once the table has been
reloaded.

This fixes the following bug: add 5 times the calculation "12.2". Go up,
the selected expression is the left one instead of the right one.
2020-01-06 14:07:20 +01:00
Émilie Feral
6a5708a562 [apps/shared] ScrollableExactApproximateExpressionsView: when only the
right expression is displayed, prevent from selecting the left
expression.

This fixes the following bug: add '1' to the calculation store, select
the output expression and go to the left. The selection is now on an
invisible cell.
2020-01-06 14:07:20 +01:00
Émilie Feral
053fb935e3 [apps] Change color of LED in power on self test: blue is too easily
confused with white
2019-12-20 14:04:56 +01:00
Émilie Feral
e13425d231 [apps] Add comment about LED color in Dutch exam mode 2019-12-19 15:52:45 +01:00
Émilie Feral
902cc64d32 [apps] GlobalPreferences: add an assertion to ensure the the fetched
exam mode can be casted in GlobalPreferences::ExamMode
2019-12-19 15:52:45 +01:00
Émilie Feral
425f0cb459 [apps] GlobalPreferences: remove useless assertion 2019-12-19 15:52:45 +01:00
Émilie Feral
96c63bd4a5 [apps][ion] Yellow LED is equivalent to Dutch exam mode, do not update
the LED color (with plugging/charging events) if the displayed color was Red or Yellow
2019-12-19 15:52:45 +01:00