Léa Saviot
5e404736b3
[poincare] LayoutHelper::String second parameter is a length, not size
2018-11-23 12:04:08 +01:00
Léa Saviot
63e83c246b
[poincare] Undefined::Name() gives "undef"
2018-11-23 12:04:08 +01:00
Émilie Feral
19b3a8a479
[poincare] Factorize 'expand' and 'matches' methods between Symbol and
...
Function
2018-11-23 12:04:08 +01:00
Émilie Feral
c01d66c77b
[poincare] Change name: replaceReplaceableSymbols -->
...
shallowReplaceReplaceableSymbols
2018-11-23 12:04:08 +01:00
Émilie Feral
e80512f362
[poincare] Context::expressionForSymbol takes a boolean notifying that
...
we want a copy or not
2018-11-23 12:04:08 +01:00
Émilie Feral
05083e76af
[poincare] Clean Symbol
2018-11-23 12:04:08 +01:00
Émilie Feral
ac6f7346e0
[poincare] Fix Function: expand and replace child before getting
...
properties
2018-11-23 12:04:08 +01:00
Émilie Feral
fb57ac73d7
[poincare] add tests on Function properties
2018-11-23 12:04:08 +01:00
Émilie Feral
acdb4ca357
[poincare] Expression::ExpressionWithoutSymbol does not take into
...
account SystemSymbol (UnknownX)
2018-11-23 12:04:08 +01:00
Léa Saviot
8a272458de
[poincare] recursivelyMatches takes replaceSymbols parameter
...
This fixes:
[7]->a
1+2->a
The second operation would get interrupted because 'a' is a matrix if
symbols are replaced
2018-11-23 12:04:07 +01:00
Léa Saviot
d411ff292e
[poincare] Do not parse 1>ans
2018-11-23 12:04:07 +01:00
Léa Saviot
17eaadb280
[poincare] Replace functions when replacing symbols iteratively
2018-11-23 12:04:06 +01:00
Léa Saviot
cb88dbc0a1
[poincare] Replacing iteratively only existing symbols
2018-11-23 12:04:06 +01:00
Léa Saviot
58c995d63c
[poincare] Symbol replacements limit for functions
2018-11-23 12:04:06 +01:00
Léa Saviot
84f960356c
[poincare] Add limit on iterative replacement of symbols
2018-11-23 12:04:06 +01:00
Léa Saviot
7a3451e3cd
[poincare] remove max recursion limit
2018-11-23 12:04:06 +01:00
Léa Saviot
ada8f5f3c4
[poincare] Replace symbols with their expressions iteratively
...
... not recursively.
2018-11-23 12:04:06 +01:00
Léa Saviot
cb678e370e
[poincare] Escape when recursion too deep
2018-11-23 12:04:06 +01:00
Léa Saviot
c7635c5e4d
[poincare] Encapsulate deepReduce in reduce
2018-11-23 12:04:06 +01:00
Émilie Feral
1b2c810eb2
[poincare] Delete useless method in Number
2018-11-23 12:04:06 +01:00
Léa Saviot
4bbde7a4d5
[poincare] Remove useless forward declaration
2018-11-23 12:04:05 +01:00
Léa Saviot
cce6591f54
[apps] When editing an expression model, replace UnknownX with 'x'
2018-11-23 12:04:05 +01:00
Ruben Dashyan
3bee0f35fa
[poincare] Add UntypedBuilder Function and Symbol
...
UntypedBuilders moreover retrieve Expression value from context.
2018-11-23 12:04:05 +01:00
Ruben Dashyan
93d8f60619
[poincare] Derivative, Integral, Product, Sum constructors check
...
their second parameter is of Symbol type.
2018-11-23 12:04:05 +01:00
Ruben Dashyan
4b72e4cef2
[poincare] Function constructor has additional length paramater
2018-11-23 12:04:05 +01:00
Ruben Dashyan
9c5ea70c24
[poincare] Make derived Expression s_functionHelper constexpr
2018-11-23 12:04:05 +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
Ruben Dashyan
cda6f522f0
[poincare] New static NumberOfChildren() method in Expression subclasses
2018-11-23 12:04:05 +01:00
Ruben Dashyan
e2e5fd6551
[poincare] Delete an accidentally inserted line in Randint
2018-11-23 12:04:05 +01:00
Ruben Dashyan
23c07e02ca
[poincare] New static Name() method in Expression subclasses
...
Replaces the name() method in ExpressionNode subclasses.
When necessary, the createLayout and serialize methods in thoses
subclasses were moved to their .cpp file.
2018-11-23 12:04:05 +01:00
Émilie Feral
2b87c735d3
[poincare] Number: add a new constructor to parse Number
2018-11-23 12:04:04 +01:00
Léa Saviot
7c4b7495f3
[apps/poincare] Inline some methods
2018-11-23 12:04:04 +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
138e955cfd
[poincare] Factorize Symbol and Function code in SymbolAbstract
2018-11-23 12:04:04 +01:00
Émilie Feral
2709aacb4e
[poincare] Fix Product constructor
2018-11-23 12:04:04 +01:00
Émilie Feral
31a5caff60
[poincare] Sum and Product can specify their variable name
2018-11-23 12:04:04 +01:00
Émilie Feral
03d0679d6f
[poincare] Symbol: rename shouldBeReplacedWhileReducing in !isConstant
2018-11-23 12:04:04 +01:00
Émilie Feral
244baec90f
[poincare] Integral takes 4 arguments (integrand, differential variable,
...
lower bound, upper bound)
2018-11-23 12:04:03 +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
Léa Saviot
71d8358722
[apps/escher/poincare] Change KDText::FontSize to KDFont
2018-11-23 12:04:02 +01:00
Léa Saviot
dd5bf76882
[poincare] Remove old function attributes
2018-11-23 12:04:02 +01:00
Léa Saviot
b6ac925df6
[poincare] Limit Symbol names to 7 chars
...
Function names now fit in the title cells of graph/values and in the
banner view of graph/graph
2018-11-23 12:04:01 +01:00
Léa Saviot
21b214e60f
[apps] Build all apps
2018-11-23 12:04:01 +01:00
Léa Saviot
af41c42a97
[poincare] Store symbol children are not replaced during reduction
2018-11-23 12:04:01 +01:00
Émilie Feral
072e52ae85
[shared] Re-design StorageCartesianFunction
2018-11-23 12:04:01 +01:00
Léa Saviot
97cba08b23
[apps] Clean GLobalContext
2018-11-23 12:04:01 +01:00
Léa Saviot
2793a622e2
[apps] Store function metadata in record
2018-11-23 12:04:00 +01:00
Léa Saviot
79e962f459
[poncare/apps] Move GlobalContext from Poincare to Apps::Shared
2018-11-23 12:04:00 +01:00
Léa Saviot
2442627e3c
[apps] Remove attributes from StorageExpressionModel and derivates
2018-11-23 12:04:00 +01:00
Léa Saviot
03bb073ba3
[poincare] Add metadata (color, isActive, displayDerivative) to Function
2018-11-23 12:04:00 +01:00