Commit Graph

40 Commits

Author SHA1 Message Date
Léa Saviot
e1e8e4c98e [poincare] Stop integral computation if evaluation if function is undef 2018-06-26 13:44:56 +02:00
Émilie Feral
fccebdcc06 [poincare] Move maximum/roots solver from CartesianFunction to Poincare::Expression (part I) 2018-06-07 13:46:19 +02:00
Léa Saviot
c4b5d4cf40 Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
1b10cbdbb3 [poincare] Add a method: Expression::polynomialDegree 2018-03-22 10:48:06 +01:00
Émilie Feral
6de71ae145 [poincare] Clean: convertFloatToText should be in PrintFloat instead of
Complex
2018-03-21 15:57:19 +01:00
Émilie Feral
29a2525b56 [apps] Clean 2018-01-30 18:19:27 +01:00
Léa Saviot
55044d8e0b [poincare] Update Expression's privateCreateLayout().
We use the new layouts and no longer the old ones such as StringLayout
or BaselineRelativeLayout.

Change-Id: Ic15167b694c3adab46f348c8f823ce19b3e5ef33
2018-01-15 11:58:05 +01:00
Léa Saviot
0cc1d99a54 [poincare] Static and Dynamic Layout hierarchies.
Change-Id: I3b47dbd76552b77db762482932518a74c1996cc0
2018-01-15 11:58:01 +01:00
Émilie Feral
439c46d736 [poincare] Enable to interrupt Integral evaluation
Change-Id: I4c4f03beb1801cb9a9c568067356dac3c6a95820
2017-12-01 17:22:05 +01:00
Émilie Feral
fda382cc0d [poincare] Change name: evaluate->approximate
Change-Id: I649a7c640190713dcf063a4148decd6038e62796
2017-11-24 13:31:44 +01:00
Romain Goyet
52bdf4a41f Merge branch 'cas_with_app_copy' into python_console 2017-11-21 18:44:38 +01:00
Émilie Feral
1d89a8602f [poincare] Add a context to setExpressionForSymbols in Context
Change-Id: I68b768aec350b75bfcf54a5bede2f9b1cdff7e20
2017-11-17 15:45:11 +01:00
Émilie Feral
37dd3db06e [poincare] Do not simplify expressions with matrix
Change-Id: I0b4c5fabf3e0669c50ecefc95a2896e945b8c5d9
2017-11-17 13:34:47 +01:00
Émilie Feral
53c66baa16 [poincare] Re-enable matrix in simplified expression-> handle matrix in
evaluate

Change-Id: I455845398f0799b9e25fd192ada7478c872ab892
2017-11-17 13:34:46 +01:00
Émilie Feral
d5fc8d139f [poincare] First version of Simplification with matrix (no tests yet!)
Change-Id: I28ad4750ad31995836b23725f7d715669fcb7ae2
2017-11-10 15:22:33 +01:00
Jacob Young
da1e66e798 Fix #115 by fixing the math.h and cmath includes. 2017-10-13 18:08:15 +02:00
Romain Goyet
34c51ed239 [poincare] Clean Expression::isCommutative 2017-09-25 14:06:45 +02:00
Émilie Feral
23629b0939 [poincare] Restructuration of poincare (no duplication of children
storage)

Change-Id: Ia10c3cc83e10d238750c6954b7c093d26b762c94
2017-09-21 13:49:06 +02:00
Ian Abbott
28df37813c [poincare] Fix recursion bug in adaptiveQuadrature() integration
The recursive adaptiveQuadrature() function is initially called with the
maximum number of recursion levels to perform, so adaptiveQuadrature()
should decrement numberOfRecursions at each recursion level.

When adaptiveQuadrature() needs to recurse, it splits the interval in
two, calculates the integral for each half by calling itself
recursively, and adds the result from each half.  However, it then
ignores this result and returns NAN because it is checking a stale
quadKG.absoluteError value.  Rearrange the code to avoid that.
2017-09-20 10:31:35 +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
13f314a744 [poincare] Complete integral implementation
Change-Id: I09cc543db9eac24eacfc35c36b3900bb3f6ff974
2017-01-27 12:03:29 +01:00
Émilie Feral
ae9117d180 [poincare] Merge XContext and NContext together
Change-Id: Idf99dc291a233a6d34f049031e04311b8fe17816
2017-01-27 12:02:37 +01:00
Émilie Feral
b60a6615b1 [poincare] In integral, improve integral approximation
Change-Id: If07ebbece7c8e49561db8f5f1a0c0ced4889467d
2017-01-27 11:16:33 +01:00
Émilie Feral
3283a063cb [poincare] Improve integral layout
Change-Id: Ie9f10058d856741838f8e34ba30fc6934909581b
2017-01-15 20:09:22 +01:00
Émilie Feral
5d746ff861 [poincare] Add comments to integral approximation for future
improvements

Change-Id: I44131774674cb7db3c8c0450a29faa5a08120ae6
2017-01-15 20:09:21 +01:00
Émilie Feral
d9877e6181 [poincare] Create a first version of a class integral (approx method is
to be improved with QUADPACK algo)

Change-Id: I2afed19640c9be3072220b15b14ebff7a9671218
2017-01-15 20:09:21 +01:00