Commit Graph

433 Commits

Author SHA1 Message Date
Émilie Feral
f546845279 [apps] Test: fix calculation and equation test with layout and
expression seriazlization
2019-08-08 17:22:03 +02:00
Léa Saviot
23acdd7f0d [apps/calc] Simplify the HistoryViewCell::m_calculationCRC32 initialization
It is not very probable that a new CRC32 should be computed to 0, and
maybe not less probable than being computed to the CRC32 of an empty
computation. However this was not mathematially verified.
2019-08-08 17:22:03 +02:00
Léa Saviot
9c95018034 [apps/calc] Init HistoryViewCell::m_calculationCRC32 to better value 2019-08-08 17:22:03 +02:00
Léa Saviot
dfe74dc1cb [apps/calculationStore] Remove falty assertion 2019-08-08 17:22:03 +02:00
Léa Saviot
2c783fe630 [apps/calcualtion] Remove TODOs 2019-08-08 17:22:03 +02:00
Léa Saviot
76a950d572 [apps/calculation] Add assertions instead of escape cases 2019-08-08 17:22:03 +02:00
Léa Saviot
d027a01851 [apps/calculation] Fix calculation memoization 2019-08-08 17:22:03 +02:00
Léa Saviot
849f9237dd [apps/calculation] Handle calculations too big for buffer 2019-08-08 17:22:03 +02:00
Léa Saviot
a7d3df39c3 Typo 2019-08-08 17:22:03 +02:00
Léa Saviot
f5e11b7d74 [apps/calculation] Exception checkpoint around secondary method
When computing [[2,3,2][ln(2),1,5][1,8,9]] there was a memory pool
failure because of the computation of
exactAndApproximateDisplayedOutputsAreEqual. Because displaying the
right equal symbol is less important than displaying a result, we
encapsulate the method in an exception checkpoint: if there was not
enough memory on the pool to compute the equal sign, just return
EqualSign::Approximation.
2019-08-08 17:22:03 +02:00
Léa Saviot
b4f6e37399 [apps/calcualtion] Optimize pool use 2019-08-08 17:22:03 +02:00
Léa Saviot
9380fafe9d [apps/calculation] Fix coding typo 2019-08-08 17:22:03 +02:00
Léa Saviot
3f6d08dd35 [apps/calc] Use memmove that is safer than memcpy
There was a wrong memcpy used in the memoization buffer sliding
2019-08-08 17:22:03 +02:00
Léa Saviot
05678b48f6 [apps/calc] Remove whole calculation memoization in HistoryViewCell
It is no longer compatible with the new calculations as they no longer
have a constant size.
2019-08-08 17:22:03 +02:00
Léa Saviot
f43e73333a [apps/calculation] Put back memoization 2019-08-08 17:22:02 +02:00
Léa Saviot
c3ee31f80e [apps/calculation] Fix HistoryController/Store index 2019-08-08 17:22:02 +02:00
Léa Saviot
1af882ddae [apps/calculation] Fix calculation history index 2019-08-08 17:22:02 +02:00
Léa Saviot
0f12d226ae [apps/calculation] Put expression in scope
To reduce the number of expressions at a givent time on the pool
2019-08-08 17:22:02 +02:00
Léa Saviot
c7fd11e4b0 [apps/calculation] Calculation store has one big buffer for calculations 2019-08-08 17:22:02 +02:00
Émilie Feral
869ab35c54 Makefile: build only necessary files for test target 2019-08-08 17:22:01 +02:00
Émilie Feral
059c596a80 Makefiles: avoid building all sources for each target; introduce more
modularity
2019-08-08 17:22:01 +02:00
Émilie Feral
518903c390 Clean warnings 2019-08-08 17:22:01 +02:00
Léa Saviot
1642df476a [apps/calculation] Don't display exact result for condifence/prediction 2019-08-08 16:29:38 +02:00
Léa Saviot
e5e9f0bf78 [apps/calculation] Fix Calculation::displayOutput
Should return ApproximateOnly if the exactOutput expression is Undefined
2019-08-08 16:29:38 +02:00
Léa Saviot
168e0b492f [apps/calculation] Don't display approximate matrices results only 2019-08-08 16:29:38 +02:00
Léa Saviot
1b42efb2cd [poincare] Tests about basic matrix simplifications + fix tests 2019-08-08 16:29:37 +02:00
Léa Saviot
61cf762eef [poincare] Expression::ReductionContext 2019-08-08 16:29:37 +02:00
Ruben Dashyan
eb6d697927 [apps] Make app accessors static members of App classes 2019-07-19 15:06:25 +02:00
Ruben Dashyan
44809f4b3f Substitute Escher app() by Container::activeApp() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
1a2a651f36 [apps] Replace app() by expressionFieldDelegateApp() in Calculation::EditExpressionController 2019-07-19 15:06:25 +02:00
Ruben Dashyan
3e992a3560 [apps] Replace app() by textFieldDelegateApp() in TextFieldDelegates 2019-07-19 15:06:25 +02:00
Ruben Dashyan
9611133276 [apps] Factor Shared::TextFieldDelegateApp::isAcceptableText 2019-07-19 15:06:25 +02:00
Ruben Dashyan
055d601854 [apps] Define TextFieldDelegate::textFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
5058f64163 [apps] Define LayoutFieldDelegate::expressionFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
4111927bae [apps] Access *DelegateApp() through app() 2019-07-19 15:06:25 +02:00
Romain Goyet
21907fb89a [apps] Get rid of App casts 2019-07-19 15:06:25 +02:00
Ruben Dashyan
62cec10b46 [apps] Clean unnecessary AppsContainer class declarations and header inclusions 2019-07-19 15:06:25 +02:00
Ruben Dashyan
1f06819974 [apps] Remove Container * parameter from all App constructors 2019-07-19 15:06:25 +02:00
Léa Saviot
40c5196cee [test] Use strcmpWithSystemParentheses
Now there can be two types of parentheses : '(' or
UCodePointLeftSystemParenthesis. Because we do not want to complicate
the test results, when comparing a computed serialization and a result
we do not differentiate between the two types of parentheses.
2019-06-26 14:03:08 +02:00
Émilie Feral
93b81cb26c [poincare] Tests: fix build 2019-05-03 15:54:22 +02:00
Émilie Feral
8c2f8a9aea [calculation] DisplayOutput: avoid to recursively scan the expression
multiple times instead of one.
2019-05-03 15:54:22 +02:00
Émilie Feral
cbbb827532 [poincare] Clean recursive tests on expression (isApproximate, IsRandom,
IsMatrix etc)
2019-05-03 15:54:22 +02:00
Émilie Feral
7f373a5c3c [calculation] Calculations involving matrices display only approximate
results and should not toggle the exact output.
2019-05-03 15:54:22 +02:00
Émilie Feral
a48bec14d2 [calculation] Fix scroll on calculation heigher than the screen.
Changing the selectedSubviewType reloads the selection on the cell so we
need to scrollToSubviewOfTypeOfCellAtLocation afterwards.
2019-05-03 15:54:22 +02:00
Émilie Feral
3168ec14c3 [calculation] HistoryViewCell: fix layoutSubviews to fix weird scrolling
When successively adding calculations 0.2 and int(x*exp(-4x), 0,99) the
reloadScroll would fail
2019-05-03 15:54:22 +02:00
Émilie Feral
54ff7a3b84 [calculation] HistoryController: Avoid useless cell reloading (avoid
blinking)
2019-05-03 15:54:21 +02:00
Émilie Feral
2217eebaec [escher] SelectableTableView: when reloading data, we temporary deselect
the table. We warn the SelectableTableViewDelegate that the selection
change is 'within a temporary selection change' when notifying it of the
change.
2019-05-03 15:54:21 +02:00
Émilie Feral
138587ee8e [calculation] Calculation: memoized display output 2019-05-03 15:54:21 +02:00
Émilie Feral
1e72a1c9c2 [calculation] HistoryViewCell: clean 2019-05-03 15:54:21 +02:00
Émilie Feral
a30191ccb4 [calculation] Change name: 'calculation selected' --> 'calculation
expanded'
2019-05-03 15:54:21 +02:00