Léa Saviot
43031928c3
Remove max/min inline from KDCoordinate header
2019-04-12 15:16:51 +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
Léa Saviot
027148f376
[apps/calculation] Clean comments
2019-01-10 11:42:05 +01:00
Léa Saviot
271e22628b
Typo in comment
2019-01-10 11:42:05 +01:00
É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
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
26e2e9be0d
[poincare] Add complex format as an argument of simplification
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
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
fb44f8617c
[apps/calculation] Fix display exact and approx results
...
If the results are equal but their layouts not, because of the number of
significant digits for instance, display both the equal and approximate
results.
2018-12-03 12:32:51 +00:00
Émilie Feral
cf92eb8506
[poincare] Discard useless argument 'replaceSymbols' from simplification
...
routine
2018-11-30 09:53:31 +01:00
Léa Saviot
53e4a290f7
[poincare] Rename Expression:parse in Parse
2018-11-23 12:04:09 +01:00
Léa Saviot
33676e915a
[apps] Check that serialized expression is not too long in Graph
2018-11-23 12:04:09 +01:00
Léa Saviot
a289d77425
[apps/calculation] Fix non returning method
2018-11-23 12:04:08 +01:00
Léa Saviot
63e83c246b
[poincare] Undefined::Name() gives "undef"
2018-11-23 12:04:08 +01:00
Léa Saviot
1cb9d5445c
[apps/calculation] Do not display approximate output if it is undef
2018-11-23 12:04:08 +01:00
Léa Saviot
789d17189e
[apps/calculation] Comment why shouldOnlyDisplayExactOutput is needed
2018-11-23 12:04:07 +01:00
Léa Saviot
5d6db930fd
[apps/calc] Fix display glitch when doing 1.2->a (cell not high enough)
2018-11-23 12:04:07 +01:00
Léa Saviot
d411ff292e
[poincare] Do not parse 1>ans
2018-11-23 12:04:07 +01:00
Émilie Feral
4f2985e6fb
[calculation] Replace symbols when simplifying
2018-11-23 12:04:03 +01:00
Léa Saviot
4d71a3a4c6
[apps/poincare] Do not replace symbols in result of 3+c->f(x)
2018-11-23 12:04:03 +01:00
Léa Saviot
d083d05609
[apps/calculation] Display the exact layout only when the exp is Store
2018-11-23 12:04:03 +01:00
Léa Saviot
a7a719df4a
[poincare] Handle functions in replaceSymbolWithExp and similar methods
2018-11-23 12:03:59 +01:00
Léa Saviot
2e2bf96bca
[apps/poincare] use Symbol::k_ans constexpr char *
2018-11-23 12:03:58 +01:00
Émilie Feral
7f72f820a0
[poincare] Get rid of SpecialSymbols::Ans
2018-11-23 12:03:58 +01:00
Léa Saviot
f6edf05708
[calculation] Compare simplified exact and approx outputs to determine =
2018-11-19 18:02:55 +01:00
Léa Saviot
ed5a6d4a03
[apps/calculation] Remove unneeded arguments
2018-11-19 18:02:55 +01:00
Lionel Debroux
70a8d06cfe
[apps, poincare] Optimize the preferences singletons' usage by removing superfluous checks in the setters, and performing manual CSE in the callers.
...
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr >
2018-10-23 11:49:09 +02:00
Lionel Debroux
1a8c6b6ae9
[poincare, escher, ion, apps] Split the huge umbrella header poincare.h, to reduce build time.
...
This should be a NFC, but surprisingly, it also reduces size... so what does it change ?
2018-10-23 11:49:09 +02:00
Émilie Feral
3e99b07adb
[calculation] Calculation: output display
...
When reducing an input, Float expression can appear (to avoid Infinity
(2.1234567^201).
Consequently, we only the approximate output if the
exact output contains a Float.
2018-09-26 16:18:56 +02:00
Émilie Feral
8604e73e97
[calculation] No Expression memoization in Calculation: delay the
...
overflow of the TreePool
2018-09-25 16:55:50 +02:00
Léa Saviot
8b75802746
[calculation] Don't recompute HistoryViewCell layout if same calculation
2018-09-20 17:21:34 +02:00
Émilie Feral
365b145cf3
[poincare] Change names: LayoutReference-->Layout
2018-09-18 16:29:44 +02:00
Émilie Feral
d17b0f1afb
[poincare] Get rid of char table of variable size
2018-09-17 17:14:43 +02:00
Émilie Feral
616e4c0bcc
[poincare] Change name: LayoutRef --> LayoutReference
2018-09-14 16:57:12 +02:00
Émilie Feral
2cc01dc2a5
[calculation] Calculation model does not need to override copy
...
constructor
2018-09-06 16:37:36 +02:00
Émilie Feral
367f628b5c
[calculation] Free the pool of expressions when tidying the application
2018-09-06 14:07:41 +02:00
Léa Saviot
e3a09286ac
[poincare] Remove AllocationFailures
2018-09-05 16:19:11 +02:00
Léa Saviot
71c807b565
[poincare] Node->isDefined becomes !Node->isUninitialized
2018-08-14 16:40:12 +02:00
Émilie Feral
b5f66171fc
[calculation] Fix all reference to Poincare
2018-08-10 13:18:46 +02:00
Émilie Feral
e9c42e221b
[calculation] Fix Calculation
2018-08-10 10:14:59 +02:00
Émilie Feral
7c1649670a
[shared] Fix PoincareHelpers
2018-08-10 10:13:25 +02:00
Léa Saviot
5a5f2403da
[poincare] Fix calculation height allocation failure handling
2018-07-30 15:36:45 +02:00