Commit Graph

155 Commits

Author SHA1 Message Date
É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
c629cb66ba [apps/calculation] Calculation: don't memoize the display in height
computation. It has to be updated everytime an exception is raised and
this was forgotten.
2020-02-12 15:13:22 +01:00
Émilie Feral
0c19b54365 [apps/calculation] Do not display additional results for Equal or Store
expressions
2020-02-12 15:13:22 +01:00
Émilie Feral
8d7eebbf0e [apps/calculation] Calculation: fix variable confusion 2020-02-12 15:13:21 +01:00
Léa Saviot
756eeeb2d8 [poincare/parser] Add context 2020-02-12 15:13:21 +01:00
Émilie Feral
ba159de21d [apps/calculation] Trigonometry additional results are displayed if the
input OR the output is a cosine/sine
2020-02-12 15:13:21 +01:00
Émilie Feral
398b529811 [apps/calculation][poincare] AdditionalInformationType is determined
from both input and output expressions of a Calculation
2020-02-12 15:13:21 +01:00
Léa Saviot
97c5ef79af [apps/calc] Display ApproximateOnly if approximate layout cannot be created 2020-02-12 15:13:21 +01:00
Léa Saviot
1af28d4310 [apps/calc] Display ApproximateOnly if exact layout cannot be created 2020-02-12 15:13:21 +01:00
Émilie Feral
715a1a2d5e [calculation] AdditionalInformation are base on the Calculation input
instead of exact output
2020-02-12 15:13:19 +01:00
Émilie Feral
157aa206c6 [calculation] Calculation: add a parameter to height to compute the
height of the calculation cell with all expressions inlined
2020-02-12 15:13:19 +01:00
Émilie Feral
a21689d72c [apps/calculation][poincare] Move additionalInformationType method from
Calculation to Poincare module
2020-02-12 15:13:18 +01:00
Émilie Feral
66b88de4b4 [apps/calculation] WIP: Improve Calculation::additionalOuput 2020-02-12 15:13:18 +01:00
Émilie Feral
f0ec2136b7 [apps/calculation] WIP: display the complex graph when clicking on the
burger menu
2020-02-12 15:13:18 +01:00
Émilie Feral
fa5902dcd2 [apps/calculation] Calculation: add a methods additionalOuput 2020-02-12 15:13:18 +01:00
Émilie Feral
5491dee5ce [calculation][solver] Do not display exact solutions in Dutch exam mode 2019-12-19 15:52:45 +01:00
Émilie Feral
221b4af631 [apps/calculation] Fix warning: taking address of a packed member is
unsafe
2019-09-04 15:36:37 +02:00
Léa Saviot
3849aba0c2 [apps/calculation] Don't display exact result for parametered expr
Otherwise symbolic computation is possible with, for instance :
diff(x+x,x,2)
    diff(2x,x,2) = 2
2019-08-27 17:21:48 +02:00
Léa Saviot
7e397ac92b [apps/calculation] Clean code 2019-08-27 17:21:01 +02:00
Léa Saviot
48971b6eb3 [apps/calculation] Display approx only if input = exactOutput 2019-08-27 11:09:16 +02:00
Léa Saviot
c980f8bf7c [apps/calc] Bigger serialization buffer to fix glitch
Otherwise, identity(15) displays both exact and approximate outputs,
because the approximation serialization does not fit in the buffer.
2019-08-22 10:33:40 +02:00
Émilie Feral
42bb1440e3 [apps/calculation] Inputs involving 'frac' display only the approximate
output
2019-08-20 11:51:37 +02:00
Émilie Feral
1cc09de9ae [apps/calculation] Invalid calculation height memoization when leaving
the app.

Fix wrong memoization: in calculation app input '[[1+i, 2][3,4]]', change
the complex format to Polar, go back to the calculation app --> the
calculation height was no recomputed despite the fact that the approximation
output changed.
2019-08-19 09:59:01 +02:00
Léa Saviot
4bbb8167f1 [poincare/matrix_inverse] Handle memory error in MatrixInverse 2019-08-08 17:22:04 +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
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
c7fd11e4b0 [apps/calculation] Calculation store has one big buffer for calculations 2019-08-08 17:22:02 +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
61cf762eef [poincare] Expression::ReductionContext 2019-08-08 16:29:37 +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
138587ee8e [calculation] Calculation: memoized display output 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
Émilie Feral
12876b177f [calculation] Calculation: discard Calculation::toggleDisplayExact (this
feature will be developed later)
2019-05-03 15:54:21 +02:00
Émilie Feral
7db575a4ba [calculation] Calculation: improve memoization of a calculation height 2019-05-03 15:54:21 +02:00
Émilie Feral
6fd5cb360b [calculation] Improve Calculation model: new display mode
ExactAndApproximateToggle
2019-05-03 15:54:20 +02:00
Léa Saviot
8ea5f1b642 [apps/calc] If result contains random/round, display approximation only 2019-05-03 15:54:20 +02:00
Léa Saviot
b007286581 [apps/calc] displayExactOuputOnly only if the input is store in function
This prevents 1+x->f(x) from displaying 1+x = undef
[[1,2]] + [[1][2]] displays undef
2019-05-03 15:53:21 +02:00
Léa Saviot
6f7fe5089a [apps/calculation] Calculation::DisplayOutput can be Exact/Approx/Both 2019-05-03 15:53:21 +02:00
Léa Saviot
267d27f114 [poincare] Remove symbolic computation 2019-05-03 15:53:21 +02:00
Léa Saviot
496d346049 Remove max/min inline from KDCoordinate header 2019-05-03 15:53:19 +02:00
Léa Saviot
52ae2a2643 [apps/calc] approximateOutput handles unparsable m_approximateOutputText
This fixes a crash when computing:
[[1, 0, -1, 0][0, 1, 1, 0][0, 2, 0, 1][1, 0, 0, 1]]^(-1)
2019-04-12 15:16:05 +02:00
Émilie Feral
7b5f3c570d [poincare] Change the way Expression are built 2019-02-21 11:29:35 +01:00
Léa Saviot
31866aaaf5 [apps/calculation] Fix display of unreal
For instance ln(-2) in real mode should display "unreal"
2019-01-21 11:59:20 +01:00
Léa Saviot
be3ab70e67 [apps/calculation] Do not display approximation if it is unreal
Fixes: sqrt(-1) in real complex format, then change complex format, it
then displays unreal = undef
2019-01-10 11:42:05 +01:00