Commit Graph

7312 Commits

Author SHA1 Message Date
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
Romain Goyet
9bf4846b06 [apps] Leaner i18n script 2017-09-29 17:08:46 +02:00
Romain Goyet
e6ed6c74a4 [apps] Split the i18n in multiple files
A Python script aggregates all i18n files and merges them.
We now can pick a list of locales to build in EPSILON_I18N_LANGUAGES
2017-09-29 17:08:46 +02:00
Romain Goyet
4a0e4af52f Use container-based Travis env 2017-09-29 17:08:26 +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
Léa Saviot
f1374e584e [apps] Decrease the abscissa column's width 2017-09-29 16:19:54 +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
Adrien Bertrand
344bcac843 [kandisky] Generated font-related source data should be const.
This saves up to 30 KB in RAM, as it's not in the same section anymore.
2017-09-28 17:57:26 +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
Romain Goyet
bcdad4a5f9 [apps] Use the shared language controller in the settings app 2017-09-28 17:17:27 +02:00
Romain Goyet
cb097abe95 [apps] Split on_boarding/language_controller in two 2017-09-28 17:17:27 +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
4e5b68b45d [escher] Fix bug due to int32 overflow
Change-Id: If9760bd9082b7e3f8ebea04cef1df63bae39a2a6
2017-09-27 17:41:33 +02:00
Émilie Feral
2ec4b6354d [apps] In i18n, change sample standard deviation name in Spanish
Change-Id: Ie1b3dd27bb767d4afae573284311062d27cff0df
2017-09-27 17:25:46 +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
Émilie Feral
83d1179993 [poincare] Implement copy constructor and copy assignment operator of
Integer

Change-Id: Iaed652f31c3336da5471727cf4c9190bec34d51e
2017-09-27 16:13:43 +02:00
Émilie Feral
372478a142 [poincare] Parse decimal number in fraction instead of complex
Change-Id: I52dd5dff950a1adf6abfe1281079f68333be5a66
2017-09-27 12:07:50 +02:00