Ruben Dashyan
81d755927c
[apps/calculation/calculation] Fix array length computation
2020-02-12 15:13:25 +01:00
Émilie Feral
2470821a6b
[apps/settings] Fix sub controller viewWillAppear /
...
didEnterResponderChain behaviours
This fixes the following bug: when editing the number of significant
digits, input "1+", click on "OK", the data was reloaded and "1+"
disappeared...
2020-02-12 15:13:25 +01:00
Émilie Feral
533f1312db
[solver] Add test with 6 variables
2020-02-12 15:13:25 +01:00
Émilie Feral
3df80ed780
[poincare] ParameteredExpression: overrides getVariables to avoid
...
considering parameter as a variable
2020-02-12 15:13:25 +01:00
Ruben Dashyan
2ae435a628
[apps/calculation/calculation] Remove redundancy
...
When each Calculation had its own text buffer, the Expression of an
overflowing output text was Undefined. Hence that Expression could have
been Undefined without the corresponding text being 'undef'. That situation
may not happen anymore since Calculation are stored in a shared buffer.
2020-02-12 15:13:24 +01:00
Ruben Dashyan
1393e5e973
[apps/calculation/calculation] Rearrange the conditions forcing DisplayOutput::ApproximateOnly
2020-02-12 15:13:24 +01:00
Ruben Dashyan
46a5a7cf5c
[apps/calculation/calculation] Force DisplayOutput::ApproximateOnly when there is Unit
...
The most common case where only the approximate output is displayed
happens when the exact and the approximate outputs are equal, more
precisely when the exact output is equal to the approximate output with
the number of significant digits taken from user settings. That
clarification matters for the Poincare::Integers which have more digits than
the number of significant digits set by the user.
Besides, an Expression containing Units is simplified as
Multiplication(Float, Unit...) recorded identically into the exact and
the approximate outputs (except perhaps the number of significant
digits). Generally, the case where the number of digits in the output is
smaller or equal to the user setting would be matched by the condition,
stated above, that exact and approximate output are equal. But that
should also be the case whatever the number of significant digits. That
is why the presence of Units is matched specifically.
2020-02-12 15:13:24 +01:00
Ruben Dashyan
0a61e0f7bc
[apps/shared/round_cursor_view] Add warning about getPixels
2020-02-12 15:13:24 +01:00
Ruben Dashyan
63424fb98b
[apps/*/function_graph_controller] Factor selectFunctionWithCursor
2020-02-12 15:13:24 +01:00
Ruben Dashyan
246a9aa7a4
[apps/shared/function_graph_controller] Clarify function selection in initCursorParameters
2020-02-12 15:13:24 +01:00
Ruben Dashyan
1cdd61ea47
[apps/shared/function_graph_controller] Do not compute the numberOfActiveFunctions repeatedly
2020-02-12 15:13:24 +01:00
Ruben Dashyan
503a9ed128
[apps/shared/round_cursor_view] Fix GRAPH_CURSOR_SPEEDUP macro usage
2020-02-12 15:13:24 +01:00
Léa Saviot
2318019d7b
[apps/solver] Center used/ignored variables messages
2020-02-12 15:13:24 +01:00
Léa Saviot
9200e6062d
[aps/solver] Reset the solution selection when leaving the view
...
Solve an equation that has solutions, select a solution, then go back
and change the equation. WHen you go to the solutions, the previous
solution is still selected, which is a little weird
2020-02-12 15:13:24 +01:00
Léa Saviot
bb2e8ad3c5
[apps/settings] Fix selection
...
Scenario: Got to About menu, press 6 on FCC ID then cancel, there are
two selected rows
This reverts 41e41b8d4 with a better fix
2020-02-12 15:13:24 +01:00
Léa Saviot
963edd5c35
[apps/solver] Fix addition of "=0" to equations
...
ShiftRight no longer puts the cursor at the end of the text/layout.
2020-02-12 15:13:24 +01:00
Léa Saviot
c5315189ac
[apps/solver] Fix SolutionsController::k_maxNumberOfVisibleCells
2020-02-12 15:13:24 +01:00
Léa Saviot
eff0a26835
[apps/probability] Clean distribution_controller
...
Cleaner .cpp and fix the number of cells
2020-02-12 15:13:24 +01:00
Léa Saviot
3b80b747b2
[test/solver] Add more tests
2020-02-12 15:13:24 +01:00
Léa Saviot
c4beb5ec63
[apps/solver] Fix x10 display in approximate solutions
...
Scenario: Solve the equation cos(x) = 10 between -1000 and 1000, the x10
solution was badly displayed.
2020-02-12 15:13:24 +01:00
Léa Saviot
25ef10a0c5
[tests/solver] Add test on solver + user defined symbols
2020-02-12 15:13:24 +01:00
Léa Saviot
470b713226
[test] Fix tests for new SymbolicComputation parameter
2020-02-12 15:13:24 +01:00
Léa Saviot
72259f359c
[apps/solver] Fix rowHeight for approximated solutions
...
User variables rows were too small
2020-02-12 15:13:24 +01:00
Léa Saviot
248e875192
[apps/solver] Always display used variables
...
Scenario: 3->x, 4->y, equation x+y+c=0 would not display the values of x
and y
2020-02-12 15:13:24 +01:00
Léa Saviot
424ee9fa15
[poincare] Add SymbolicComputation parameter to the reduction context
...
This way, in solver, we can reduce expression without expanding symbols
2020-02-12 15:13:24 +01:00
Léa Saviot
016a68d469
[apps/solver] Do not select "User variables used" row
2020-02-12 15:13:23 +01:00
Léa Saviot
db0e7f0d8b
[apps/solver] Display user variables in the solutions
2020-02-12 15:13:23 +01:00
Léa Saviot
7e7a37bf8e
[apps/solver/solutions_controller] Code cleaning
2020-02-12 15:13:23 +01:00
Léa Saviot
0e64e89496
[apps/solver] Do not use symbol context if no solution found
...
Still replace the functions
2020-02-12 15:13:23 +01:00
Émilie Feral
a78d34293c
[app] Toolbox: add the unit menu
2020-02-12 15:13:23 +01:00
Ruben Dashyan
179ce5d5d5
[ion/unicode/codepoint] Rename is[(Lower|Upper)Case]Letter to isLatin[(Small|Capital)]Letter
...
to conform with unicode terminology
2020-02-12 15:13:23 +01:00
Ruben Dashyan
575b911da9
[ion/unicode] Split isDigit into isDecimalDigit, isBinaryDigit, isHexadecimalDigit
2020-02-12 15:13:23 +01:00
Ruben Dashyan
9b0b4e3096
[ion/unicode] Define and use CodePoint const methods
...
isLowerCaseLetter
isUpperCaseLetter
isLetter
isDigit
Remove similar ones from UTF8Helper and from Poincare::Tokenizer.
2020-02-12 15:13:23 +01:00
Léa Saviot
7665ad6fe0
[apps/graph/graph_controller] Fix interestingRanges step
...
Scenario
Create an empty f function
Create g(x) = 1/x
Go to the graph
Change f(x) to f(theta) = theta^2 + 3
Go back to the graph -> the axes computation was very long
2020-02-12 15:13:23 +01:00
Émilie Feral
bbb9e83703
[apps/calculation] Fix and add tests
2020-02-12 15:13:23 +01:00
Émilie Feral
551e4998f4
[apps/calculation][apps/solver][poincare] Simplify sign =/≈ computation
...
between outputs in Calculation/Solver
2020-02-12 15:13:23 +01:00
Émilie Feral
c2540a1d8a
[apps/calculation] Calculations now hold 4 texts: input, exact output
...
and 2 approximate outputs - one with the maximal number of significant
digits and one with the number of significant digits asked by the user.
This enables to find the approximate output without going through the
approximation routine again.
2020-02-12 15:13:23 +01:00
Ruben Dashyan
c4f112e5aa
[apps/calculation/calculation] Do not approximate approximateOutput again
2020-02-12 15:13:23 +01:00
Émilie Feral
a82ff2b703
[apps/calculation] HistoryController: in historyViewCellDidChangeSelection,
...
limit the whole table reloading to cases where the cell height did
actually change to avoid useless blinking
2020-02-12 15:13:22 +01:00
Émilie Feral
71de56f87a
[apps/calculation] HistoryViewCell: fix setHighlighted to reload
...
subviews highlight
2020-02-12 15:13:22 +01:00
Émilie Feral
b39b8da036
[apps/calculation] HistoryViewCell: prevent from selecting ellipsis
...
suview if it not visible
2020-02-12 15:13:22 +01:00
Émilie Feral
a39ca58470
[apps/calculation] HistoryViewCell: fix first responder. The first
...
responder is the HistoryViewCell when the ellipsis subview is selected
2020-02-12 15:13:22 +01:00
Émilie Feral
767d1654cc
[apps/calculation] HistoryViewCell: select the right expression of
...
output when coming from ellipsis subview
2020-02-12 15:13:22 +01:00
Émilie Feral
39dbb7d68c
[apps/calculation] Fix relayouting when highlighted cell changed
...
This fixes the following scenario: add "1.2" 5 times, go up three times,
and down three times, the last cell was not correctly relayout.
2020-02-12 15:13:22 +01:00
Émilie Feral
bbe39aac14
[apps/calculation] HistoryController: display additional results pop-up
...
when handling OK/exe on the ellipsis view
2020-02-12 15:13:22 +01:00
Émilie Feral
7d0a1cd0b2
[apps/calculation] HistoryViewCell: enable selecting the ellipsis
2020-02-12 15:13:22 +01:00
Émilie Feral
9a97fc01b2
[apps/calculation] HistoryViewCell: m_expandedCalculation memoizes true
...
only when the calculation is actually expanded (when the output is
selected and the display output is ExactApproximateToggle)
This avoid blinking when changing input/output selection
2020-02-12 15:13:22 +01:00
Émilie Feral
f276a88e79
[apps/calculation] HistoryViewCell: display ellipsis view when
...
highlighted
2020-02-12 15:13:22 +01:00
Émilie Feral
b56cd8b012
[escher] Metric: add EllipsisCellWidth. This will be soon used by
...
Calculation::HistoryCell
2020-02-12 15:13:22 +01:00
Émilie Feral
251db5b60e
[apps/shared][apps/calculation] Change class names:
...
ScrollableInputExactApproximateExpressionsCell -->
ScrollableThreeExpressionsCell
AbstractScrollableExactApproximateExpressionsView -->
AbstractScrollableMultipleExpressionsView
ScrollableExactApproximateExpressionsView -->
ScrollableTwoExpressionsView
ScrollableInputExactApproximateExpressionsView -->
ScrollableTwoExpressionsCell
2020-02-12 15:13:22 +01:00