Émilie Feral
503e07fe5a
[apps/sequence] Fix SequenceStore: sequences are not memoized but all
...
kept in the store (because we need all of them to evaluate one
sequence). setMemoizedModelAtIndex now store u, v and w sequences in
this order to avoid requiring expiring pointers.
2019-08-13 09:44:00 +02:00
Émilie Feral
9fbec16db4
[poincare] Merge MultiplicationImplicit and MultiplicationExplicit (they
...
were required if we wanted to parse into two distincts expression 2π and
2*π but don't)
2019-08-08 17:22:05 +02:00
Émilie Feral
c1cd0302b8
[poincare] Fix typo: explicite --> explicit, implicite --> implicit
2019-08-08 17:22:04 +02:00
Émilie Feral
fd25b678ce
[poincare] Split Multiplication into MultiplicationExplicite and
...
MultiplicationImplicite
2019-08-08 17:22:02 +02:00
Léa Saviot
61cf762eef
[poincare] Expression::ReductionContext
2019-08-08 16:29:37 +02:00
Émilie Feral
d0665d8558
[shared] Clean class names containing storage
2019-04-12 15:16:52 +02:00
Émilie Feral
3c1e35ec04
[shared] Rename classes:
...
ExpressionModelHandle --> ExpressionModel
SingleExpressionModelHandle --> ExpressionModelHandle
StorageFunction --> Function
StorageCartesianFunction --> CartesianFunction
StorageFunctionApp --> FunctionApp
2019-04-12 15:16:52 +02:00
Émilie Feral
58f9a59d6e
[ion] Move Storage extensions declaration in Storage class
2019-04-12 15:16:52 +02:00
Émilie Feral
a7192df59c
[apps/shared] Split ExpressionModelHandle into ExpressionModelHandle and
...
SingleExpressionModelHandle (in perspective of Sequence model who will
be composed of 3 ExpressionModelHandle)
2019-04-12 15:16:52 +02:00
Émilie Feral
0f37ee25f7
[solver] Make EquationStore inherits from StorageExpressionModelStore
2019-04-12 15:16:52 +02:00
Léa Saviot
b6eb663f53
[ion/kandinsky] Move unicode to ion
2019-04-12 15:16:51 +02:00
Léa Saviot
63d7155376
Remove Ion::Charset
2019-04-12 15:16:50 +02:00
Émilie Feral
7b5f3c570d
[poincare] Change the way Expression are built
2019-02-21 11:29:35 +01:00
É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
4ccf1f08a9
[solver] Delta discriminant is counted as a solution to clear the code
2019-01-10 11:42:05 +01:00
Léa Saviot
d6e7f78705
[apps/solver] Clean comments
2019-01-10 11:42:04 +01:00
Léa Saviot
014b481a9b
[apps/solver] Fix iteration max index
2019-01-10 11:42:04 +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
64d6450728
[solver] Handle unreal equations and equations whose solutions are
...
unreal
2019-01-10 11:42:04 +01:00
Émilie Feral
2052ee43ae
[apps][poincare] An expression is undefined if it is of type 'unreal' or
...
'undefined'
2019-01-10 11:42:04 +01:00
Émilie Feral
05ef7008dc
[solver] Fix bug: when the number of solutions is infinite, do not try
...
to find the solution layouts
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
aa80710f4d
[solver] Take into account the complexFormat Real
2019-01-10 11:42:04 +01:00
Émilie Feral
42aad48ec4
[solver] Fix EquationStore::oneDimensialPolynomialSolve
2019-01-10 11:42:03 +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
Léa Saviot
94603b2b7d
[poincare] Layout::serialize is serializeForParsing or ParsedExpression
...
serializeForParsing serializes the layout once,
serializeParsedExpression serializes the layout, parses it and
serializes it again.
2018-11-23 12:04:09 +01:00
Léa Saviot
07d1aabb56
[apps/solver] Remove max variable name size redefinition
2018-11-23 12:04:07 +01:00
Ruben Dashyan
61b1b8a09d
[poincare] Add Expression::FunctionHelper class
...
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Émilie Feral
8770c9010a
[poincare] Create Constant inheriting from SymbolAbstrac
...
pi, e and i are not symbols anymore but constant
2018-11-23 12:04:04 +01:00
Émilie Feral
d0d81c4eca
[solver] Fix resolveLinearSystem (special case: no variable)
2018-11-23 12:04:04 +01:00
Émilie Feral
9197e8ffbf
[solver] Clean EquationStore
2018-11-23 12:04:04 +01:00
Léa Saviot
3802639510
[poincare] Remove isVariableSymbol test
2018-11-23 12:03:59 +01:00
Léa Saviot
4b37163653
[poincare] Fix more "char * []" type problems
2018-11-23 12:03:59 +01:00
Léa Saviot
870cd926c1
[poincare] Fix getVariables argument type
2018-11-23 12:03:59 +01:00
Émilie Feral
6113f97027
[solver] Display warning when one of the variable name exceeds 10
...
characters
2018-11-23 12:03:58 +01:00
Émilie Feral
a4756c1945
[poincare] Cast matrix of char before calling getVariables
2018-11-23 12:03:58 +01:00
Émilie Feral
5beafd2bf3
[poincare] Change Expression::getVariables to get symbols with variable
...
sizes
2018-11-23 12:03:58 +01:00
Émilie Feral
bc2ce86825
[poincare] Change signature: polynomialDegree,
...
getPolynomialCoefficients, getPolynomialReducedCoefficients
2018-11-23 12:03:58 +01:00
Léa Saviot
3bbb8b39d1
[poincare] Add context argument to some ExpressionNode methods
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
Émilie Feral
2297d1a7aa
[solver] Escape undefined equations
2018-10-05 11:46:59 +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
bb9583d6dd
[solver] When resolving linear system, we count on the side effect of
...
rank which has thus to be done in-place
2018-09-11 17:50:20 +02:00
Émilie Feral
de3174d77f
[solver] Fix EquationStore with new Poincare API
2018-09-06 18:05:31 +02:00
Émilie Feral
aaa20a58fa
[poincare] Implement SerializationHelper and
...
SerializationHelperInterface. WriteTextInBuffer->serialize
2018-08-08 15:31:40 +02:00
Émilie Feral
48f890ef93
[poincare] AngleUnit, FormatComplex and PrintFloatMode are now
...
enumeration of Preferences class
2018-07-30 13:48:04 +02:00