Commit Graph

1406 Commits

Author SHA1 Message Date
Émilie Feral
fb624b1fba [poincare] Reimplement float parsing (handling non null char *)
Change-Id: Iff18fb586faa73125cd87c63667cd3458196fcfe
2017-01-15 20:04:58 +01:00
Émilie Feral
afdc1573b2 [poincare] Improve derivative calculation
Change-Id: Iaa75aa5f365450bf5c906cae10d7ec09b8c044db
2017-01-15 20:04:58 +01:00
Émilie Feral
6e01c55f1a [poincare] Move the xcontext to poincare to be used by derivative object
Change-Id: Ib950c7db7d864e0ff56c7964f4591bce180d627d
2017-01-10 13:44:06 +01:00
Émilie Feral
288067c21c [poincare] Create a class derivative function
Change-Id: I8393415ee5b4bda879d4794201115f87ccda545b
2017-01-09 15:08:56 +01:00
Émilie Feral
0bc13c65b2 [poincare] add a nth root layout
Change-Id: Ib40811700c82ab7aab6cdb9caab0d4557ecb8a69
2017-01-09 15:08:56 +01:00
Émilie Feral
4ef58a4019 [poincare] Add a specific layout to absolute value function
Change-Id: I556d66a93c463459dadd4a94f669e9ebbb039fdc
2017-01-09 15:08:56 +01:00
Émilie Feral
11893f9d5d [poincare] Add function nth root
Change-Id: I62cc4ed3d852eb5f241bf3812ad89faecbd50352
2017-01-09 15:08:56 +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
1efb46e6ce [poincare] Add function absolute value
Change-Id: I03df5bf1b5359b85ed0576c8d47ff56d65bfea1c
2017-01-09 15:08:56 +01:00
Romain Goyet
47b16a06dc [poincare] Parse floats
Change-Id: I3cfc063e1059d3769e1038593e90e6f56c0d7ce1
2016-12-21 10:13:28 +01:00
Romain Goyet
5963345981 [poincare] NULL-termination and Integer parsing
Discard non-10 base handling for now

Change-Id: I487e85a169c7ae5780c83b0bcf3c40bd3daac0fe
2016-12-21 10:13:06 +01:00
Émilie Feral
7af3979d3b [poincare] Change Context API
Change-Id: I2818866fb41bf73c39396fbd85600e586a79065c
2016-12-15 13:51:41 +01:00
Émilie Feral
69e381d736 [poincare] Redesign the text method of expression to avoid keeping a
buffer in all expressions

Change-Id: I2ca33be09a525adf429854e651beaa75e5605d7a
2016-12-09 11:01:43 +01:00
Émilie Feral
a07a59efe9 [poincare] Factorise the method evaluate
Change-Id: Ief252568e8d232fc4606e8c86b5e3f9b4c076955
2016-12-09 11:01:39 +01:00
Émilie Feral
357f971120 [poincare] Change name: createEvaluation -> evaluate
Change-Id: I8f241541af0435c6ab4f7ba1f561f880c4e95ac0
2016-12-08 17:10:36 +01:00
Émilie Feral
acf0b3b9d6 [poincare] Delete commutative operation class (used only for addition)
Change-Id: If53e2522f533c88306a207775c4502b7fe1cbea2
2016-12-08 17:10:36 +01:00
Émilie Feral
e31f2c5188 [poincare] Create a matrix data and list data classes for a cleaner
parsing

Change-Id: I38dc9cbc49d1b16c032aeb3118d5df911d3e7d6d
2016-12-08 17:10:30 +01:00
Émilie Feral
620b64a583 [apps/probability] Create a class evaluate context for probability app
Change-Id: I38448ddeec25225edad1d96bf89d32d1eb86915d
2016-12-08 15:21:52 +01:00
Émilie Feral
713a41cffe [poincare] Method to find text from a terminal expression (float or
matrice)

Change-Id: Id80e63f0e5596c4a6b98513e783ac1918ae55344
2016-12-08 15:21:52 +01:00
Émilie Feral
c4ac44838a calculation] Correct ans insertion and evaluation
Change-Id: I3c84735ce43453a3e88db755c283e14311d24ad9
2016-12-08 15:21:52 +01:00
Émilie Feral
0ce0995e0c [poincare] add a method createEvaluation in all expressions
Change-Id: I72e78afcae2a931376108859a5615c227d364d74
2016-12-08 15:21:52 +01:00
Émilie Feral
487256bf04 [poincare] Make Product inherits from binary operation (matrix product
are not commutative)

Change-Id: I86f4c49ea973b45605ffa0a6b28f172de2866b98
2016-12-08 15:21:52 +01:00
Émilie Feral
f4b73de940 [poincare] define the float create layout method
Change-Id: I9d01272e450cf300ae3a0c8dd2541507cfbcb7a2
2016-12-08 15:21:52 +01:00
Émilie Feral
e652366bea [poincare] Parse matrix
Change-Id: Id5a2fe87632809c92985ddc8f800d52fb8512711
2016-12-05 12:00:20 +01:00
Émilie Feral
4458d4867e [poincare] clean useless method in context
Change-Id: I41a882a4fae69d0d92f95f7ee36029bafd0fcdfd
2016-11-23 14:29:52 +01:00
Émilie Feral
858c9fbb55 [poincare] Add constants to context class
Change-Id: I31f1cdc6ac49062d5cac36c36f8f9650dac9ea61
2016-11-23 14:29:52 +01:00
Émilie Feral
4967681a80 [poincare] delete useless destructor in float
Change-Id: I019e3ad31e49fabcacdcd77518dbf905328ec0a0
2016-11-23 14:29:52 +01:00
Émilie Feral
afb7620217 [poincare] add a parenthesis object in expression
Change-Id: I050cdf061058ddaad37cc1d59f223946fcfdd6c0
2016-11-18 11:46:30 +01:00
Émilie Feral
2d2aa03bcb [poincare] In context, return 0 if constant has not been assigned
Change-Id: I3a338a7de54c55500982a8a0dd32a1193f8db504
2016-11-18 11:46:25 +01:00
Émilie Feral
df830b3b28 [poincare] add a method to get expression in context
Change-Id: If647c82bcfb04e391914443673bd20c0116325bf
2016-11-15 12:01:35 +01:00
Émilie Feral
89cae4db30 [poincare] Add ANS to symbol
Change-Id: I6ae8a61259636f83d7fd2e533e330a0fd06b7426
2016-11-04 16:40:18 +01:00
Émilie Feral
38c3ac0e2b [poincare] make the evaluation of symbol not constant to allow dynamic
evaluation

Change-Id: Iddff962e1617211a4e36704f90090fd808811642
2016-11-04 16:32:05 +01:00
Émilie Feral
e132c9ae13 [poincare] Use a buffer in the class context to store expression
Change-Id: I9a3ae1bb02b1714940a339d039b6f4e917255f8d
2016-10-19 16:22:49 +02:00
Émilie Feral
9cc3f6d158 [poincare] Redefine the class symbol to handle a single char
Change-Id: I01e6d6200f4144e9b9a031aef46a34dec560496b
2016-10-19 16:22:49 +02:00
Émilie Feral
bac174ebfc [poincare] In float, add method to convert float to text
Change-Id: I9a85c02e0b2843ee999847b821b9d24f1452eb5d
2016-10-14 12:06:00 +02:00
Émilie Feral
6194f539f6 [apps/graph] create a class evaluate context
Change-Id: Ib3cbc9121c3c96dafd88fb9ea695be3bcf380775
2016-10-14 10:24:18 +02:00
Romain Goyet
ba3eb94be7 [poincare] Add a Logarithm expression
Change-Id: Iaf10dec4b298811edaef1cebd04ac0b0175d9025
2016-10-07 17:11:52 +02:00
Romain Goyet
4ab77b0ca8 [poincare] Clean sin/cos/tan
Change-Id: Ie1d9d6318058546d8b0393bcb085a47bd0733532
2016-10-07 17:11:52 +02:00
Émilie Feral
bc00592571 [poincare] add color parameters when drawing expression
Change-Id: I69f2aba0c69bac92b7a6dd1e78bcb45602f87110
2016-09-30 17:36:38 +02:00
Romain Goyet
2e3b578eff [Poincare] Update for C++ Kandinsky
Change-Id: Ib0d44841245a290c0395c43b2cde4c7ea69c17ca
2016-08-19 10:34:59 +02:00
Felix Raimundo
4a340aadb6 Add the name getter for symbols
Change-Id: I270ff8202f106a70a8bb0c980955a1b7d431c455
2016-04-22 16:52:45 +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
f044bb4691 Remove dead code in context.h
Change-Id: I2392c1025e212282ad4801a65b71b62a5c793948
2016-04-18 18:48:56 +02:00
Felix Raimundo
1967792e02 Replace a define in implementation to an attribute for context.
Change-Id: I70b246c37c214d22079efd92c8b88f21206b87c9
2016-04-18 18:48:56 +02:00
Felix Raimundo
b13fb99653 Add the equivalentTo to expression.
Change-Id: I773542d7434bb357976774f3cb746d41fdf74911
2016-04-18 18:48:56 +02:00
Felix Raimundo
47f361a667 Make the addition public.
Change-Id: I9b277f0a959f36453215de7dbb98b8f8dad69544
2016-04-18 18:48:56 +02:00
Felix Raimundo
39d6f9b1d5 make isIdenticalTo aware of commutativity.
Change-Id: I43c333d9aef9fe10ad042c56996a157c04c0830a
2016-04-11 12:57:49 +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
ac29d1e9aa Add the isCommutative method to expression.
Change-Id: I657df96c5e24168ecd04470252549ed84eb2cfe3
2016-04-05 15:53:29 +02:00
Romain Goyet
b9722aa0d8 Merge branch 'master' of ssh://git.numworks.com:29418/CalcOS
Change-Id: I3a0f53c58707de1100412dc6572abe6b852e9cb2
2016-04-01 15:09:34 +02:00