Commit Graph

48 Commits

Author SHA1 Message Date
Léa Saviot
7579294d9d [poincare] Fix Function (keep value after replaceSymbolWithExpression) 2018-11-23 12:04:03 +01:00
Léa Saviot
f3c4abe1c2 [apps/poincare] Use char constructor of Symbol instead of string 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
Léa Saviot
907eedd4bc [poincare] Use SymbolAbstract in setExpressionForSymbol 2018-11-23 12:04:00 +01:00
Léa Saviot
23f62b8dbe [poincare] Factorize approximate<T> in Function 2018-11-23 12:04:00 +01:00
Léa Saviot
6197ebd4c5 [poincare] SymbolAbstract is parent of Symbol and Function 2018-11-23 12:04:00 +01:00
Léa Saviot
aebeeda171 [poincare] Fix Function::size() 2018-11-23 12:04:00 +01:00
Léa Saviot
9cbca3c277 [poincare] Implement Function::shallowReduce 2018-11-23 12:03:59 +01:00
Léa Saviot
3809ef222d [poincare] deep and shallow Reduce have a "replace symbol" bool param 2018-11-23 12:03:59 +01:00
Léa Saviot
45df061dbf [poincare] Store::shallowReduce replaces unknown with UnknownX 2018-11-23 12:03:59 +01:00
Léa Saviot
a7a719df4a [poincare] Handle functions in replaceSymbolWithExp and similar methods 2018-11-23 12:03:59 +01:00
Léa Saviot
1159d65010 [poincare] Handle Uninitialized expression in Function methods 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
ccbcf18811 [poincare] VariableContext holds an Expression instead of a Float<T> 2018-11-23 12:03:59 +01:00
Léa Saviot
b6cab2cdba [poincare] Replace x with childAtIndex(0) when computing on Function 2018-11-23 12:03:58 +01:00
Émilie Feral
8072520686 [poincare] Fix getLinearCoefficients, getVariables signature: the
variables table is a char * table
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
787f770a91 [poincare] Add "any symbol" parsing rule 2018-11-23 12:03:58 +01:00
Léa Saviot
522f5e781e [poincare] Function expression 2018-11-23 12:03:58 +01:00
Émilie Feral
23629b0939 [poincare] Restructuration of poincare (no duplication of children
storage)

Change-Id: Ia10c3cc83e10d238750c6954b7c093d26b762c94
2017-09-21 13:49:06 +02:00
Émilie Feral
82e212e771 [poincare] Template for double
Change-Id: I7404bd5cefc9ef78a5dbd572c3874a557cded28e
2017-08-16 09:55:29 +02:00
Émilie Feral
1964d61fdc [libaxx] add cmath and use cmath instead of math.h when required
Change-Id: Id839b17d33c69e2e002f370e553ff35246a1bc90
2017-08-16 09:55:29 +02:00
Émilie Feral
f73ddcd08f [poincare] Evaluation return numerical matrix
Change-Id: I58dbc93ad22a086580a77318b2524db9c70e47d2
2017-08-03 13:47:11 +02:00
Émilie Feral
28b7bca7fc [poincare] Fix bug
Change-Id: I2d860f699e91e91b8ac7c7cbe92ca492736d60e2
2017-03-29 18:36:46 +02:00
Émilie Feral
2c8383c95d [poincare] Pop up a syntax error for function with the wrong number of
arguments

Change-Id: I8be6838c1d94676a2b579a353c3d36011e6edba1
2017-03-29 18:36:45 +02:00
Émilie Feral
9636d2decb [poincare] Display an error when parsing a function with the wrong
number of parameters

Change-Id: I1d0b88dcfa1e61581e425caa2a335b567a1d92c8
2017-03-20 14:55:59 +01:00
Émilie Feral
6da1fb2ae8 [poincare] Fix memory leak
Change-Id: I10f860eeb2fa4a7a1c6e358b208cc33f7d5d9d75
2017-03-16 15:12:09 +01:00
Émilie Feral
a019289a6a [poincare] Implement complex format
Change-Id: I98731b356cce0ae3107fd0a660697241210692ae
2017-03-07 15:53:05 +01:00
Émilie Feral
dc7a629dfa [poincare] Replace complex constructors by named constructors
Change-Id: I6aad82edfb1bd243c4537a48888655608b90eeb5
2017-02-20 09:39:25 +01:00
Émilie Feral
e5e9f7cc41 [poincare][apps] Make preferences a const object accessible from
anywhere (poincare and apps)

Change-Id: I49cc6bf940d1efeb6b153daac949ffcb23999a8d
2017-02-20 09:39:24 +01:00
Émilie Feral
b79bcfb9dc [poincare] Change name DisplayMode -> FloatDisplayMode
Change-Id: I7754b4a5ac96c3f3564749749b49130ddf357e20
2017-02-17 16:35:07 +01:00
Émilie Feral
69e46f4958 [poincare] Namespace Poincare
Change-Id: I51a84fa7978ba16f128cfe1d32c390970f2037e8
2017-02-13 17:15:06 +01:00
Émilie Feral
676bd46f33 [poincare] Expand numbers to complex numbers
Change-Id: I2e7cf5240e184da45b656ee4f121ad76aabfd1c7
2017-02-13 17:15:03 +01:00
Émilie Feral
42e4cf408d [poincare] Enbale to evaluate expression in degrees or radian
Change-Id: I8b08e7fa93431817559a594a1ea03d4414f0c830
2017-02-06 16:30:48 +01:00
Émilie Feral
e951140298 [poincare] Change method createLayout() to createLayout(DisplayMode)
Change-Id: Ifb1027d38b53a50a0ada80e11b68d44e72ac9099
2017-01-31 10:36:13 +01:00
Émilie Feral
8297efd94b [poincare] Improve function layout
Change-Id: I7bd9f6ae6273a3d8f52eee2fcb2383828b9ecdae
2017-01-15 20:09:22 +01:00
Émilie Feral
ef3cb14f50 [poincare] Enable to parse function with any number of arguments.
Change-Id: I3901f452a2a0dc6d7a821570421fb741b97d684b
2017-01-15 20:04:59 +01:00
Émilie Feral
628c5a91ca [poincare] Enable functions with more than one argument
Change-Id: I543594072c37716fffcc54d5d6ba9b6b3499bcd1
2017-01-09 15:08:56 +01:00
Émilie Feral
a07a59efe9 [poincare] Factorise the method evaluate
Change-Id: Ief252568e8d232fc4606e8c86b5e3f9b4c076955
2016-12-09 11:01:39 +01:00
Romain Goyet
e61dce4c65 [poincare] Remove a warning
Change-Id: I1b13df6570d281933f2a05aba54a5a83164cca6e
2016-10-07 20:07:48 +02:00
Romain Goyet
4ab77b0ca8 [poincare] Clean sin/cos/tan
Change-Id: Ie1d9d6318058546d8b0393bcb085a47bd0733532
2016-10-07 17:11:52 +02:00
Felix Raimundo
77f057de82 Add the const qualifier to Expression methods
Change-Id: Ic05828a91c89cb391e6d7c1d4a5220fad4aea5e7
2016-04-18 18:48:56 +02:00
Felix Raimundo
2f7b1f4860 Add the cloneWithNewOperands method.
This allows to replace the operands of an expression with new ones.

Change-Id: I3c2d183bbdbcc43b776f7ce2a302216c52e494bd
2016-04-11 12:21:14 +02:00
Felix Raimundo
1742146812 Fix typo in the functions printing.
Change-Id: Ifb7fa712c034fc24e73a4b2e4062c1864b1c7d25
2016-03-29 13:41:36 +02:00
Felix Raimundo
3710103f40 Change the layout creation.
The father now sets itself as teh father of its children.
ExpressionLayout do not know anything about expressions now.

Change-Id: I28954c78f3102eec056ebbc3c52ccd862a5ab8fd
2016-03-25 14:35:00 +01:00
Felix Raimundo
4707459a19 Update functions to use the clone interface.
Change-Id: I6b4d6be5b1d963bc7d97851432e40844d3619d8d
2016-03-24 16:54:53 +01:00
Felix Raimundo
d105236da9 Add the Function and trig functions classes and layout.
We create an abstraction for functions with the function class.

Change-Id: Ia52f38da2ab3fb6781ad77c1b909676c53a4f424
2016-03-24 16:09:25 +01:00