Commit Graph

43 Commits

Author SHA1 Message Date
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
É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
Émilie Feral
4b40099a9e [solver] Clean equation store 2018-06-12 15:05:16 +02:00
Émilie Feral
67cddf554d Merge branch 'lea-statistics' into upgrade-1.6.0 2018-06-12 10:25:54 +02:00
Émilie Feral
b75bd957fb [solver] Fix memory leak: the static hierarchy and dynamic hierarchy
used to clone the operands given as parameters.
2018-06-11 18:08:01 +02:00
Émilie Feral
bc8dbd85c1 [solver] If one equation is undefined, display a warning 2018-06-07 16:21:39 +02:00
Émilie Feral
2d580faf51 [solver] Ignore empty equation when resolving systems 2018-06-07 14:46:14 +02:00
Émilie Feral
d33372eae0 [solver] Avoid displaying 17 = 17 in solutions controller: test for
layout equality
2018-06-07 14:46:13 +02:00
Émilie Feral
9a7f7f7fe3 [solver] Add the right equal symbol (equal/approximate) in solutions
controller
2018-06-07 13:46:19 +02:00
Émilie Feral
f78615db40 [solver] Force the searched interval to have Xmin < Xmax 2018-06-07 13:46:19 +02:00
Émilie Feral
fc38fd73f0 [solver] Add a message when they are more then 10 solutions 2018-06-07 13:46:19 +02:00
Émilie Feral
28a4777c58 [solver] ApproximateSolver 2018-06-07 13:46:19 +02:00
Émilie Feral
a2469c458f [solver] Add a interval parameter controller for approximate solutions 2018-06-07 13:46:19 +02:00
Émilie Feral
e4dd197af5 [solver] Add comment to EquationStore 2018-06-07 13:46:19 +02:00
Émilie Feral
24766c8ede [poincare] getPolynomialCoefficients return reduced polynomial coefficients 2018-06-07 13:46:18 +02:00
Émilie Feral
a78fb2397f [solver] EquationStore: implement resolveLinearSystem 2018-06-07 13:46:18 +02:00
Émilie Feral
4d70fa2e0c [solver] Complex Equation Store 2018-06-07 13:46:18 +02:00
Émilie Feral
ace75e6ead [solver] Move Poincare::Equal::solve() to Solver app to consider system
instead of single expression
2018-06-07 13:46:18 +02:00
Émilie Feral
5d2079cd9e [solver] First version of Solver app 2018-06-07 13:46:17 +02:00