Émilie Feral
|
855b42a710
|
[poincare] Add a rule 1^a->1
Change-Id: I550d6639f520d82e37dc5db7234654669249eac2
|
2017-10-02 17:05:10 +02:00 |
|
Émilie Feral
|
0bc31dc4d5
|
[poincare] TO CHECK CARREFULLY: replaceOperand already detach the new
child from its parent
Change-Id: I2a23bfa5f658b21e240bbc16de57eb83422bd4e3
|
2017-10-02 16:56:37 +02:00 |
|
Émilie Feral
|
1ef01117bb
|
[poincare] Avoid calling Expression::replaceOperand with nullptr
Change-Id: I7b0497f34bfd8c1107b4dd1758b32e0ac16c3dca
|
2017-10-02 16:23:50 +02:00 |
|
Émilie Feral
|
70d7011d90
|
[poincare] In combination, enable or disable crossings
Change-Id: Id1d4756bf633d25e26f258b08e29bb5c9425bbfa
|
2017-10-02 16:20:08 +02:00 |
|
Émilie Feral
|
8abbc66dce
|
[poincare] Implement default acceptsLocationInCombination in selector
Change-Id: Ie77fc817f8affc4ca140ef58af755af9e212caa9
|
2017-10-02 16:18:47 +02:00 |
|
Émilie Feral
|
d4e5f60b5c
|
[poincare] In rulegen, do not sort children of non-commutative nodes!!
Change-Id: Ibe228f400e688a17aeff4721fe6e77ab4bca1373
|
2017-10-02 16:12:35 +02:00 |
|
Émilie Feral
|
1a000540fa
|
[poincare] Clean integer_dynamic_hierarchy_transform.cpp
Change-Id: I460fed82e82c92a8a1bba386873ee63835b24177
|
2017-10-02 12:30:40 +02:00 |
|
Émilie Feral
|
6565b7793c
|
[poincare] Handle single child in dynamic hierarchy
Change-Id: If9968d26763e4425f232f8ab37ca1ae48cc7732b
|
2017-10-02 12:30:20 +02:00 |
|
Émilie Feral
|
1853d31827
|
[poincare] Fix implemenation of AnySelector
Change-Id: I8b17cf9e06a22bdcb84787a03fb9011b08dc93c4
|
2017-10-02 11:48:44 +02:00 |
|
Romain Goyet
|
d00948171a
|
[poincare] Normalize Zero (Integer(-0) becomes Integer(0))
|
2017-09-30 19:10:27 +02:00 |
|
Romain Goyet
|
375fcfe949
|
[poincare] Cleanup the OppositeTransform
|
2017-09-30 18:11:10 +02:00 |
|
Romain Goyet
|
6c312b8915
|
[poincare] Leaner RationalAddition transforms
|
2017-09-30 18:02:35 +02:00 |
|
Romain Goyet
|
4862a634c9
|
[poincare] Avoid calling Expression::replaceOperand with nullptr
|
2017-09-30 18:01:02 +02:00 |
|
Romain Goyet
|
15dd41e9a0
|
[poincare] Handle Expression::replaceOperand with a descendant
|
2017-09-30 17:59:46 +02:00 |
|
Romain Goyet
|
9c171525d0
|
[poincare] Add Expression::replaceWith and Expression::removeFromParent
Those are shorthands methods, but convenient nonetheless
|
2017-09-30 17:59:04 +02:00 |
|
Romain Goyet
|
0a10860726
|
[poincare] Fix Expression::hasAncestor
|
2017-09-30 17:58:16 +02:00 |
|
Romain Goyet
|
6070ee8927
|
[poincare] Add DynamicHierarchy::removeOperandAtIndex
|
2017-09-30 17:57:09 +02:00 |
|
Romain Goyet
|
149c88daf3
|
[poincare] Implement two rules using ReplaceWithTransform
|
2017-09-29 21:19:27 +02:00 |
|
Romain Goyet
|
7387e161e6
|
[poincare] Add ReplaceWithTransform
|
2017-09-29 21:18:12 +02:00 |
|
Romain Goyet
|
c0b67fb635
|
[poincare] Actually implement AnySelector
|
2017-09-29 21:17:12 +02:00 |
|
Romain Goyet
|
57fccade6a
|
[poincare] Parse selectors with Type, identifier and value
|
2017-09-29 21:16:13 +02:00 |
|
Romain Goyet
|
1b0708d224
|
[poincare] Add Expression::hasAncestor
|
2017-09-29 21:15:44 +02:00 |
|
Romain Goyet
|
dbdd2744ce
|
[poincare] Add Hierarchy::detachOperand to detach a single operand
|
2017-09-29 21:13:10 +02:00 |
|
Émilie Feral
|
9587447b19
|
[poincare] Improve expression_debug
Change-Id: I5816ef0972a1f6809ab22e864cc5f7daf1cdc74f
|
2017-09-29 17:58:02 +02:00 |
|
Émilie Feral
|
fe5e87fc0d
|
[poincare] fix bug in Parenthesis
Change-Id: Id38f52db8e423a5ef0f5cff0e8151ae6d24976c8
|
2017-09-29 17:43:32 +02:00 |
|
Émilie Feral
|
71cfc5d861
|
[poincare] Add rule (-1256)^(1/3)->e^(iPI/3)2*157^(1/3)
Change-Id: I3fd692bef317af4d35b6e38551f81bc306d131c4
|
2017-09-29 17:27:09 +02:00 |
|
Émilie Feral
|
11d0ad31cf
|
[poincare] Fix implementation of utility
Change-Id: If13237893a1ded53560e53cca51146befcf424bf
|
2017-09-29 16:34:46 +02:00 |
|
Émilie Feral
|
0a6ff2edb0
|
[poincare] When building hierarchical expression, give a parent to
children
Change-Id: Ibeadbe98dc1ecde29be3b3c5e5d1cc9537c3c38a
|
2017-09-29 16:33:39 +02:00 |
|
Émilie Feral
|
29f10251a1
|
[poincare] Add rule 968750^(1/3) -> 25*62^(1/3)
Change-Id: I24115a5b25ef99cf1e40752b5ac4f7da1e2c0b9e
|
2017-09-29 14:48:00 +02:00 |
|
Émilie Feral
|
ada3ed5b11
|
[poincare] Improve arithmetics
Change-Id: I95b03b254cceb90978d0e0848af41f647f24274a
|
2017-09-29 14:41:31 +02:00 |
|
Émilie Feral
|
695e2fd132
|
[poincare] In simplification, transform root(2,3) -> 2^(3^(-1))
Change-Id: Ib10ad48498213125f0a7b0587d488156361ca40c
|
2017-09-29 11:42:28 +02:00 |
|
Émilie Feral
|
ee14968466
|
[poincare] Simplification: implement special cases of
Int*Int^-1+Int*Int^-1 -> Int*Int^-1
Change-Id: If21238b65ee36791aa8eb4f8ce71f4d2a32b7395
|
2017-09-29 11:17:01 +02:00 |
|
Émilie Feral
|
f8b0261e2e
|
[poincare] Fix sorting in selectors
Change-Id: I9e8909d5e4774289be163f646b4472b69b35b318
|
2017-09-29 11:11:31 +02:00 |
|
Émilie Feral
|
3890ad1c54
|
[poincare] Clean: better names, int -> Int
Change-Id: Ie75fec491dde48fcc2044c0a0928e943e0d57f50
|
2017-09-29 09:57:45 +02:00 |
|
Émilie Feral
|
9549e8ae85
|
[poincare] add a rule: int^int-> int or int^(-1)
Change-Id: I871c2e235debaac009c9d5e252e260ec3e0fc1d5
|
2017-09-29 09:50:41 +02:00 |
|
Émilie Feral
|
a3bd02b8ca
|
[poincare] add a rule to transform -a->(-1)*a
Change-Id: Ia80254e8c02e0c3571c97e7e55e3b043efafd80c
|
2017-09-28 17:51:17 +02:00 |
|
Émilie Feral
|
5d57b9d997
|
[poincare] Clean
Change-Id: Ic6ab491e714590a95cff2608949131d82fefd417
|
2017-09-28 16:59:33 +02:00 |
|
Émilie Feral
|
43e0f530d9
|
[poincare] Simplification: factorize implementation of int addition and
multiplication transform
Change-Id: Ie03d534693b1cfc9a6e4a66919be5f6b368aff41
|
2017-09-28 16:54:11 +02:00 |
|
Émilie Feral
|
caa10965c0
|
[poincare] In simplification, add rule to add fractions
Change-Id: I3bd62684447b2bb25aafae619dea40325faa2813
|
2017-09-28 16:18:46 +02:00 |
|
Émilie Feral
|
db9afebc8a
|
[poincare] In integer, create layout for negative integers also
Change-Id: Ia0347fe1891a00f0669a8c0685af73a1b09f3e15
|
2017-09-28 16:17:55 +02:00 |
|
Émilie Feral
|
b5c06fd22b
|
[poincare] Implement Integer::Division in Z (relative integers)
Change-Id: I72ccd4afd8188b0389b1f32863ecb1af59581c04
|
2017-09-28 16:17:32 +02:00 |
|
Émilie Feral
|
4ffa26be2b
|
[poincare] In simplification, add a symbol (!) for partial match in
rulegen
Change-Id: I0aae2d92f4827bcdcea9efe5f474f5d64da8e2fd
|
2017-09-28 10:12:11 +02:00 |
|
Émilie Feral
|
38ee1ef1df
|
[poincare] Sort selectors before creating rules
Change-Id: I51da663d83f5759c499c14f603511e3b9cb3f92f
|
2017-09-27 18:58:26 +02:00 |
|
Émilie Feral
|
c5324de471
|
[poincare] Add const qualifiers in Rulegen::Node
Change-Id: I236c139890f11ed5611c0bb79d82a06196e149e5
|
2017-09-27 18:58:26 +02:00 |
|
Émilie Feral
|
273efcc2f9
|
[poincare] Fix convention on compareTo
Change-Id: Ia1a7f2f23b93bec6a856da04baf109dfe8f49980
|
2017-09-27 18:58:26 +02:00 |
|
Émilie Feral
|
308c48daf8
|
[poincare] Add rule to reduce fraction
Change-Id: I2509f61e44962e0618b6447c982d869ac3f4efb2
|
2017-09-27 18:58:14 +02:00 |
|
Émilie Feral
|
97bcac3fce
|
[poincare] Improve rulegen: create other selectors
Change-Id: Ib80ae188378c589213356cc6e82f53592f9b91e8
|
2017-09-27 16:44:04 +02:00 |
|
Émilie Feral
|
92e047bf9f
|
[poincare/simplification] add integer fraction reduction transformation
Change-Id: I28dfe64bceb0863c781e631f80ff2684b22670b9
|
2017-09-27 16:17:45 +02:00 |
|
Émilie Feral
|
5d0dcbee1a
|
[poincare] Change API of arithmetic
Change-Id: I1a558c5e269b5f3585feb2e031d0283e38a8f76b
|
2017-09-27 16:14:48 +02:00 |
|
Émilie Feral
|
6baa8d3d2a
|
[poincare] Add a const qualifier on isNegative method in Integer
Change-Id: I85d23cda3e1b8603df471174b576502ae75b5f5e
|
2017-09-27 16:14:12 +02:00 |
|