Hugo Saint-Vignes
e09bd0a18c
[poincare] Factorize reduce and removeUnit methods
2020-12-22 17:32:40 +01:00
Hugo Saint-Vignes
479f34502f
[apps/shared] Rename methods and Factorize comparison logic
2020-12-16 16:16:26 +01:00
Gabriel Ozouf
fad375c11c
[poincare] Add unitFormat to ReductionContext
...
Change-Id: I1d3fcd2f47c973c041e1be84e9a902dd58de3562
2020-11-04 15:11:44 +01:00
Émilie Feral
05a42cd2eb
[apps/shared] PoincareHelpers: implement Reduce static inline function
2020-06-04 14:50:07 +02:00
Émilie Feral
83a63155b1
[apps] PoincareHelpers: enable to specify the UnitConversion mode in
...
Simplify
2020-06-04 14:50:03 +02:00
Léa Saviot
424ee9fa15
[poincare] Add SymbolicComputation parameter to the reduction context
...
This way, in solver, we can reduce expression without expanding symbols
2020-02-12 15:13:24 +01:00
Émilie Feral
ccf848a9eb
[poincare] Add test: do not expand multinome when reduction target is
...
System
2019-11-21 09:47:16 +01:00
Émilie Feral
4d593a6149
[poincare] PrintFloat: take into account the distinction between char
...
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Léa Saviot
a15bc53e06
[poincare/Coordinate2D] Template for double or float
2019-08-29 11:07:22 +02:00
Léa Saviot
1e483d60ce
[poincare] Coordinate2D out of the Expression class
2019-08-13 18:00:15 +02:00
Léa Saviot
b0b10f184e
[poincare/print_float] convertFloatToText -> ConvertFloatToText
2019-08-08 17:22:06 +02:00
Léa Saviot
61cf762eef
[poincare] Expression::ReductionContext
2019-08-08 16:29:37 +02:00
Léa Saviot
3554f441c1
[poincare] Remove symbolic computation
2019-04-12 15:16:53 +02:00
Léa Saviot
e5f0959239
[poincare] Static Expression methods start with uppercase
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
61d58b5dfa
[shared] SimplifyAndApproximate is used with already updated
...
ComplexFormat
2019-01-10 11:42:04 +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
Émilie Feral
26e2e9be0d
[poincare] Add complex format as an argument of simplification
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
79e7fb2183
[calculation] Use ParseAndSimplifyForComplexFormat instead of
...
ParseAndSimplify
2019-01-10 11:42:03 +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
Émilie Feral
cf92eb8506
[poincare] Discard useless argument 'replaceSymbols' from simplification
...
routine
2018-11-30 09:53:31 +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
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
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
de3174d77f
[solver] Fix EquationStore with new Poincare API
2018-09-06 18:05:31 +02:00
Émilie Feral
17e63a5b07
[shared] Fix references to Poincare
2018-08-10 13:18:46 +02:00
Émilie Feral
7c1649670a
[shared] Fix PoincareHelpers
2018-08-10 10:13:25 +02:00
Émilie Feral
aaa20a58fa
[poincare] Implement SerializationHelper and
...
SerializationHelperInterface. WriteTextInBuffer->serialize
2018-08-08 15:31:40 +02:00
Léa Saviot
a3032e5ec3
Merge branch Tree into master
2018-07-19 14:01:02 +02:00
Émilie Feral
e61a408a0a
[poincare] Get rid of AngleUnit::Default
2018-07-18 17:09:07 +02:00
Émilie Feral
2e7c08241a
[poincare] Change writeTextInBuffer signature (parameters are float
...
display mode and number of significant digits)
2018-07-18 16:32:50 +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