Commit Graph

86 Commits

Author SHA1 Message Date
Émilie Feral
ac6f23684d [poincare] Clean Expression and Layout builders
Before: Opposite(Opposite(Rational(1))) misleadingly created the
expression "-1"; now, Opposite::Builder(Opposite::Builder(Rational(1)))
creates "--1"
2019-02-21 11:29:35 +01:00
Émilie Feral
ecf3f2ea0f [poincare] Create a a flag on Expression that is set when the
approximation encouters a complex value

All approximation methods take the complex format into account.
2019-01-10 11:42:04 +01:00
Léa Saviot
3595a8e628 [apps/sequence] Align sequence title and expression baselines 2019-01-10 11:42:02 +01:00
Léa Saviot
0a9edf8a43 [apps/sequence] Add cheat margin between sequence title and equal 2019-01-10 11:42:02 +01:00
Léa Saviot
11db7d5257 [apps/sequence] Remove equal char in sequence parameters 2019-01-10 11:42:02 +01:00
Léa Saviot
55de9ab111 [apps/sequence] Add '=' after sequence titles 2019-01-10 11:42:02 +01:00
Émilie Feral
78e4c9066f [shared] Revert: Use Simplify instead of Reduce
To approximate an expression, it is more precise to
approximate its simplified form than its reduced form. Indeed, we want
to minimize the number of nodes in the expression before approximating.
For instance, a/b has fewer nodes than a*b^-1.
2018-12-18 09:39:43 +01:00
Émilie Feral
aa0b785f3d [shared] In models Equation, Sequence: the recorded expression does not
need to be beautified. Use Reduce instead of simplify
2018-12-17 09:41:14 +01:00
Léa Saviot
53e4a290f7 [poincare] Rename Expression:parse in Parse 2018-11-23 12:04:09 +01:00
Léa Saviot
aaca53e9b0 [poincare] Fix symbol constructor: name and its length are mandatory 2018-11-23 12:03:59 +01:00
Émilie Feral
e58395e8c8 [sequence] Get rid of Symbol::SpecialSymbols in Sequence 2018-11-23 12:03:58 +01:00
Émilie Feral
1fff98f1c4 [poincare] Change Expression methods' signature to work with const char
* symbol instead of char symbol
2018-11-23 12:03:58 +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
Léa Saviot
5d92f13c26 Clean strlcpy arguments 2018-10-17 11:22:37 +02:00
Romain Goyet
f8beae3b86 [kandinsky] Move to KDFont 2018-10-11 16:44:02 +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
eaf6105438 [sequence] Fix Sequence with new Poincare API 2018-09-06 17:04:09 +02:00
Émilie Feral
f70f72da1a Change new Layout -> LayoutRef 2018-09-06 16:04:17 +02:00
Émilie Feral
aaa20a58fa [poincare] Implement SerializationHelper and
SerializationHelperInterface. WriteTextInBuffer->serialize
2018-08-08 15:31:40 +02:00
Émilie Feral
cb4bb4f8f0 [poincare] Engine-->Helper and break LayoutHelper into LayoutHelper and
SerializationHelper
2018-08-08 14:00:52 +02:00
Léa Saviot
d890168241 [poincare] Change all subscripts font-size to base layout font-size 2018-07-19 10:16:31 +02:00
Émilie Feral
e61a408a0a [poincare] Get rid of AngleUnit::Default 2018-07-18 17:09:07 +02:00
Émilie Feral
b8af15f1ab [poincare] change createLayout signature
- CreateLayout depends on the float display mode and the number of
significant digits
- Float display mode does not have a default value anymore
2018-07-18 16:32:50 +02:00
Émilie Feral
d94ed82ab8 [poincare] Create class Approximation<T> to avoid useless conversion
between Decimal and float/double
2018-07-18 16:32:50 +02:00
Émilie Feral
dd0bc491f6 [poincare] Replace Poincare::Complex by std::complex 2018-07-18 16:32:49 +02:00
Émilie Feral
5378b90da8 [sequence] SequenceDefinition: Delete weird empty space to avoid getting
u(n ) when applying ExpressionLayout::writeInTextBuffer
2018-06-07 14:46:14 +02:00
Émilie Feral
fccebdcc06 [poincare] Move maximum/roots solver from CartesianFunction to Poincare::Expression (part I) 2018-06-07 13:46:19 +02:00
Émilie Feral
e05709f097 [shared] Factorize FunctionStore in ModelStore<T> (for future
implementation of equation store)
2018-06-07 13:46:17 +02:00
Émilie Feral
3a29f086a0 [sequence] Fix u(0), u(1) layout in sequence list 2018-05-17 15:39:14 +02:00
Léa Saviot
a67f422ab7 [apps/sequence] Fix first/second term index display.
Before, it was always u0 and u1.

Change-Id: Iad5a3992a16f4b4a55e295b24f6a784a17f2807b
2018-05-16 18:36:34 +02:00
Léa Saviot
16de5291bb [apps/sequence] Fix "Un" size in sequence table
Change-Id: I8f46a2f6f49da08a58d8c24252cf9fa8d09d2a0e
2018-05-15 16:29:35 +02:00
Léa Saviot
d51ddc55a1 [apps/sequence] Put a condition on SeqType to get FirstInitialCondName
This condition was removed non-intentionnally by a previous commit

Change-Id: I643351b3ca965405753c0757971871c71838e405
2018-04-25 13:58:42 +02:00
Léa Saviot
c4b5d4cf40 Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
6de71ae145 [poincare] Clean: convertFloatToText should be in PrintFloat instead of
Complex
2018-03-21 15:57:19 +01:00
Émilie Feral
cdfbc02499 [apps] Add a function "sumBetweenBounds()" on Function (sum of terms on
Sequence, Integral on CartesianFunction)
2018-01-30 18:19:27 +01:00
Émilie Feral
59fdcde548 [poincare] Avoid returning partial simplification when the
simplification process has been interrupted
2018-01-30 16:17:03 +01:00
Léa Saviot
a435c548da [apps/sequence] Use the new layouts in the Sequence app.
Change-Id: I8b079bfabccd54472e0ba0fac17b87dbaf3678ee
2018-01-15 11:58:07 +01:00
Émilie Feral
6c070b63fc [apps] Sequence: fix bug due to const char * comparison 2018-01-03 16:16:34 +01:00
Émilie Feral
2452e3c2c1 [apps] Sequence: add forgotten instanciation 2017-12-20 17:41:03 +01:00
Émilie Feral
945d6df444 [apps] Fix typo: Explicite->Explicit 2017-12-20 17:41:03 +01:00
Émilie Feral
25a5748f85 [apps] Sequence: add a customizable initial rank in sequence 2017-12-20 17:41:03 +01:00
Émilie Feral
cb754ab6d5 [apps] Sequence: invalidate the context cache when the sequences are
redefined
2017-12-20 17:41:03 +01:00
Émilie Feral
032cafdb04 [apps] Sequence: enable to defined dependent sequences 2017-12-20 17:41:03 +01:00
Émilie Feral
2c06727f36 [apps] Simplify expressions in sequence and function applications
Change-Id: I2708934d3b5c90e8692e50d939b3a13028b8615e
2017-11-24 14:39:06 +01:00
Émilie Feral
fda382cc0d [poincare] Change name: evaluate->approximate
Change-Id: I649a7c640190713dcf063a4148decd6038e62796
2017-11-24 13:31:44 +01:00
Émilie Feral
76cbd2678d [poincare] Change names: approximate->approximateToScalar
Change-Id: I701451b35909bb577dd729e0ea76a405b9543f23
2017-11-24 12:06:35 +01:00
Romain Goyet
52bdf4a41f Merge branch 'cas_with_app_copy' into python_console 2017-11-21 18:44:38 +01:00
Émilie Feral
6c51c584f2 [apps] Change Calculation to hold an exact and an approximate output
Change-Id: I1805839e17cd42b82f06ce0a320d20b49cd2a6cd
2017-11-21 17:37:25 +01:00