Commit Graph

216 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
Laury
25d4793441 [poincare] Fixed tests 2022-06-25 23:35:38 +02: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
Joachim LF
9b17d1b882 [Update] Epsilon 15.3.1 2021-01-21 19:56:06 +01:00
Hugo Saint-Vignes
e09bd0a18c [poincare] Factorize reduce and removeUnit methods 2020-12-22 17:32:40 +01:00
Arthur Camouseigt
3dca515441 [VariableBox] Added sequences to the variable box
It is now possible to call the value of a defined sequence anywhere.

Change-Id: I1990e93c50f9add175b7ea274e07004ba63289e5
2020-11-04 15:32:58 +01:00
Gabriel Ozouf
504223612d [apps/apps_container] Add timer to circuit breaker
poincareCircuitBreaker requires the Back key to be pressed for at least
50 ms before interrupting a computation.
This is effectively invisible for the user, but fixes a bug in
Calculation :
  - When leaving the additional results for a result using units by
    pressing the Back key, a reduction preceding a call to removeUnits
    would be interrupted, causing an undefined behaviour.

Change-Id: Iec667ae964f190de2171850cc22e1726959e6cb5
2020-11-04 15:11:45 +01:00
Gabriel Ozouf
860ce558c2 [poincare/unit] Remove some additional results
Imperial additional results now only appear when the selected unit
system is Imperial.

Change-Id: Icc314d0148810bea67e4d729179393f1fceaf214
2020-11-04 15:11:45 +01:00
Gabriel Ozouf
52dcd8e749 [poincare/unit] Restructure Unit
1. Information about a unit's dimension now uses inheritance.
   _m is an instance of DistanceAlias, which is derived from Alias.
   A UnitNode now keeps a pointer to an Alias and one to a Prefix.
   All aliases are still defined as constexpr.
   This cleans up a lot of the code used namely for computing the
   additional outputs in Calculation.

2. Instead of being defined with a string, each unit is described by its
   ratio with the base SI unit (ex: _L is 0.001 instead of "0.001_m^3").
   This greatly speeds up the calculations using units, as the algorithm
   to find the best unit used to parse the definition.

Change-Id: I4d6ed6ad4cb967026a3f01a335aec270066e2b9f
2020-11-04 15:11:45 +01:00
Gabriel Ozouf
fad375c11c [poincare] Add unitFormat to ReductionContext
Change-Id: I1d3fcd2f47c973c041e1be84e9a902dd58de3562
2020-11-04 15:11:44 +01:00
Hugo Saint-Vignes
f00c135b69 [apps/calculation] Add additional outputs for matrix
Change-Id: Ia4b285eb0f28eaed838d32a1fdfb785d13664f65
2020-11-04 15:07:20 +01:00
Quentin Guidée
a74a5ac796 [fix] conflicts 2020-08-09 13:28:22 +02:00
Léa Saviot
b885098963 [apps/calculation] Fix additionalInformationType
If an expression hasUnits and is then reduced, it might not have units
anymore for instance if it was replaced with undefined).
Scenario: Enter "[5000000000000000]^20 _s" in the calculation app
2020-07-29 10:13:19 +02: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
Quentin Guidée
b5a9323a81 [Fix] Conflicts 2020-07-15 12:09:12 +02:00
Charlotte THOMAS
b5f9deb169 Update calculation.cpp
removed white
2020-07-15 10:28:15 +02:00
Charlotte THOMAS
f1dab081e1 Fix: CI test 2020-07-15 10:28:15 +02:00
Charlotte THOMAS
9d8b62894f Fix: Changed "IS" to "SI" because even in english the short for "International System of Units" is "SI" 2020-07-15 10:28:15 +02:00
Quentin Guidée
0d80f148b4 [Fix] Click on symbolic expression caused undef 2020-07-13 11:09:22 +02:00
Joachim LF
d7ac7e19bb [Update] Epsilon 14 2020-07-13 10:36:47 +02:00
Léa Saviot
924e235ba8 [apps/calculation] Factorize some code 2020-07-06 17:16:22 +02:00
Quentin
db10723e76 [Update] Upstream 2020-06-18 19:25:17 +02:00
Léa Saviot
cf4eaa3d1f [apps/poincare] Use symbolicComputation in recursivelyMatches
This fixes a failed assertion for the scenario:
[3]->x then, in the Equation app, solve x+1->0
2020-06-15 16:20:09 +02:00
Émilie Feral
7b150deaeb [apps/calculation] Hide additional outputs for Dutch exam mode 2020-06-04 14:50:10 +02:00
Émilie Feral
05a42cd2eb [apps/shared] PoincareHelpers: implement Reduce static inline function 2020-06-04 14:50:07 +02:00
Émilie Feral
1f9cdc5648 [apps] Calculation: do not offer additional results on units if there
will be only one identical to the output
2020-06-04 14:50:07 +02:00
Émilie Feral
b6ee72bc21 [poincare] Clean tests on Unit 2020-06-04 14:50:07 +02:00
Émilie Feral
785d7a0a62 [apps] additional_outputs: misc. clean-up on unit additional results 2020-06-04 14:50:03 +02:00
Ruben Dashyan
266482ef99 [apps/calculation] Additional outputs for Unit 2020-06-04 14:50:01 +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
e2f4b30b84 [apps/calculation] Remove unused variable 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
5535145b51 [apps/calculation] Calculation on 2 lines if does not fit when expanded
Scenario: 1+1+1+1+1+1+1+10.5 fits on one line when not expanded, but
when the exact result is displayed not -> we thus always display it on
two lines
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
4f50a72abf [apps/calculation] Clean Calculation::height 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
Léa Saviot
5a68b44aa1 [apps/calc] Merge SingleLine and allExpressionsInline behaviours 2020-05-28 04:44:27 -07:00
Léa Saviot
c3d8520e73 [apps/calculation] Remove unnecessary bool 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
Quentin
13874cd2e0 Merge branch 'omega-hotfix' into omega-dev 2020-04-16 14:24:47 +02:00
Quentin
3013dda9d6 [Fix] Conflicts 2020-04-16 14:12:38 +02:00
Quentin
f37040dc8a [Fix] Conflicts 2020-04-16 14:04:56 +02:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Quentin Guidée
742e7a165d [Feature] Hide undef with symbolic calculation 2020-03-21 11:10:14 +01:00
David
c5b21cff71 [Fix] Compact cutoff bug 2020-03-18 11:56:48 -05:00