Commit Graph

79 Commits

Author SHA1 Message Date
Yaya-Cout
d1b8cefcf9 Merge pull request #254 from RedGl0w/additional_result_trigo
Changes to the trigonometry additional result
2025-11-05 17:17:44 +00:00
Joe Crop
42d8fea8c6 logic toolbox with logic functions 2022-12-05 20:07:45 -08:00
Joachim LF
25cd0d44f3 [calculation/additional_outputs] Use input rather than output if possible, and open on tan 2022-06-17 13:09:45 +02:00
Laury
2156ca7e42 [calculation] Added additional output about second degree polynomials 2021-09-12 21:28:07 +02:00
Hugo Saint-Vignes
f00c135b69 [apps/calculation] Add additional outputs for matrix
Change-Id: Ia4b285eb0f28eaed838d32a1fdfb785d13664f65
2020-11-04 15:07:20 +01:00
Arthur
d7a0914d13 [Apps/CalculationStore] Changed the way to store calculations
-No more limit to the number of calculations
-All calculations are memoized
-Added tests to test/calculation_store.cpp

Change-Id: Ia10e2b009576eaf4496ba44a0c88f6e7e76f6cef
2020-11-04 14:45:34 +01:00
Émilie Feral
df74c2c551 [apps/calculation] The heights (common and expanded) of calculation cells are
computed when the calculation is added to the store and don't change afterwards.
Otherwise, if their heights change when scrolling (due to a modification of the
display output type - ExactOnly, ApproximateOnly...), it generates crashes.
2020-07-16 14:37:38 +02:00
Émilie Feral
c2db00cc88 [apps/calculation] When leaving calculation app, do not invalid
calculation height memoization. They're computed from the layouts which
don't depend on the complex format (or any other settings parameters
which could have changed).
2020-07-16 14:37:38 +02:00
Léa Saviot
924e235ba8 [apps/calculation] Factorize some code 2020-07-06 17:16:22 +02:00
Léa Saviot
a56a73b0ba [apps/calculation] Fix calculation height computation
It was done in two places before, which created inconsistencies
2020-05-28 04:44:27 -07:00
Léa Saviot
c4908c2bd9 [apps/calculation] Fix bottom calculation margin
Scenario: enter a calculation that uses two lines, the margin on the
bottom is too big
2020-05-28 04:44:27 -07:00
Léa Saviot
579485c8c0 [apps/calculation] CanBeSingleLine differs if args are view/layout sizes
If the sizes are for layouts, we need to add the margins added by the
views.
2020-05-28 04:44:27 -07:00
Léa Saviot
11c39b6206 [apps/calculation] Calculation::height has two types of margin arguments
One for the margin between layouts and on top / at the bottom of the
cell, the other for the margin surrounding each layout.
2020-05-28 04:44:27 -07:00
Léa Saviot
78cac6ddae [apps/calculation] Calculation::height has CanBeSingleLine argument 2020-05-28 04:44:27 -07:00
Léa Saviot
525290427a [apps/calculation] Calculation::height takes verticalMargin argument 2020-05-28 04:44:27 -07:00
Léa Saviot
7ccaf3fc50 [apps/calculation] Rename allExpressionsInline to forceSingleLine 2020-05-28 04:44:27 -07:00
0b101
b48d3d6e4a Added a new compact result display mode 2020-05-28 04:44:27 -07:00
Émilie Feral
c3d8e09ceb [apps/calculation] Calculation: invalid heights memoization when forcing the
display output
2020-02-20 10:56:11 +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
É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
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
f388fe7252 [apps] Use attribute "packed" on member variable directly instead of
using "pragma pack" to allow compiler optimization on one-byte object
accesses
2019-09-04 15:20:52 +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
c7fd11e4b0 [apps/calculation] Calculation store has one big buffer for calculations 2019-08-08 17:22:02 +02:00
Émilie Feral
78907aeb4a [calculation] Calculation: memoized display output 2019-04-26 10:46:46 +02:00
Émilie Feral
7150669f5e [calculation] Change name: 'calculation selected' --> 'calculation
expanded'
2019-04-26 10:03:24 +02:00
Émilie Feral
aebc5ce4d0 [calculation] Calculation: discard Calculation::toggleDisplayExact (this
feature will be developed later)
2019-04-26 09:50:25 +02:00
Émilie Feral
0c453386d3 [calculation] Calculation: improve memoization of a calculation height 2019-04-23 15:16:19 +02:00
Émilie Feral
1b2ce4a18e [calculation] Improve Calculation model: new display mode
ExactAndApproximateToggle
2019-04-22 14:12:00 +02:00
Léa Saviot
50e2d11b1f [apps/calculation] Calculation::DisplayOutput can be Exact/Approx/Both 2019-04-12 15:16:53 +02: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
d083d05609 [apps/calculation] Display the exact layout only when the exp is Store 2018-11-23 12:04:03 +01:00
Léa Saviot
ed5a6d4a03 [apps/calculation] Remove unneeded arguments 2018-11-19 18:02:55 +01: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
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
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
e9c42e221b [calculation] Fix Calculation 2018-08-10 10:14:59 +02:00
Léa Saviot
2d4e36b98c [apps/calc] Handle alloc failure when computing calculation height 2018-07-30 14:47:41 +02:00
Léa Saviot
f579e95815 [poincare] Start removing ExpressionLayout 2018-07-03 17:33:06 +02:00
Émilie Feral
1108ef21db [calculation] Do not memoize the expression layouts but the expressions
final height to avoid overflowing the heap. The expression layouts are
kept in the cell which are fewer then the number of calculations
2018-05-16 18:36:45 +02:00
Émilie Feral
1d7bd2b70a [calculation] Change method name: shouldDisplayApproximateOutput --> shouldOnlyDisplayApproximateOutput 2018-05-15 11:33:28 +02:00