Commit Graph

11243 Commits

Author SHA1 Message Date
Émilie Feral
d95e25c4b7 [poincare] Power::shallowReduce: reducing should happen after replacing
the expression in its hierarchical context

Fix sum(1/n, n, 1, 5) reducing with no symbolic computation
2019-09-20 17:31:51 +02:00
Léa Saviot
d17b74b440 [poincare/matrix_layout] Remove unneeded code 2019-09-20 17:31:39 +02:00
Léa Saviot
6ef0b3b4ab [poincare/matrix_layout] Delete rows in two steps
Row deletion is done when deleting the left empty layout of an empty
row.
2019-09-20 17:31:39 +02:00
Émilie Feral
3831c66183 [poincare] Randint: fix approximation to return undef when the result is
going to lack precision
2019-09-20 17:11:56 +02:00
Émilie Feral
ab420b871c [poincare] Randint::shallowReduce: replace by undef if the argument was
defined but not the randint approximation.

This fixes tests: randint(1,inf) --> NAN, randint([[1,2]],2) --> NAN
2019-09-20 17:11:56 +02:00
Émilie Feral
6916b6e06f [poincare] Fix randint shallow reduce: avoid casting float in integer
(big numbers are turned into negative integer)
2019-09-20 17:11:56 +02:00
Léa Saviot
404651d1c6 [poincare/randint] Fix randint simplification
When reducing f(x)=randint(floor(x),floor(10x)), the randint
simplification would give undef because x is undefined at the time of
the reduction
2019-09-20 17:11:56 +02:00
Ruben Dashyan
3777bcbd87 [apps/shared/expression_model_store] Remove redundant assert
If the record is null, it means that the do-while loop has iterated too
many times and there is no record left. However that situation is
already asserted at the begining of the method.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
a705109b91 [apps/graph/graph_view] Factor polar and parametric drawing 2019-09-20 17:11:42 +02:00
Ruben Dashyan
a7282e6f33 [apps/graph/graph_view] Do not recompute numberOfActiveFunctions 2019-09-20 17:11:42 +02:00
Ruben Dashyan
d476e7944d [apps] Move assert to where it matters 2019-09-20 17:11:42 +02:00
Ruben Dashyan
312a19e760 [poincare/symbol_abstract] Remove old TODO 2019-09-20 17:11:42 +02:00
Ruben Dashyan
d2b8e4865c [apps/shared/continuous_function_store] Factor numberOfActiveFunctionsOfType and activeRecordOfTypeAtIndex 2019-09-20 17:11:42 +02:00
Ruben Dashyan
56a3fcfacb [apps/shared/expression_model_store] Add context parameter to model testing 2019-09-20 17:11:42 +02:00
Ruben Dashyan
893131ed08 [apps/shared/expression_model_store] Factor model tests 2019-09-20 17:11:42 +02:00
Ruben Dashyan
3c10c397eb [apps/shared/expression_model_store] Simplify recordSatisfyingTestAtIndex and numberOfModelsSatisfyingTest 2019-09-20 17:11:42 +02:00
Ruben Dashyan
9bbc4233f8 [apps/shared/expression_model_store] Harmonize recordSatisfyingTestAtIndex and numberOfModelsSatisfyingTest 2019-09-20 17:11:42 +02:00
Ruben Dashyan
d4e129e162 [apps/shared/expression_model_store] Simplify recordSatisfyingTestAtIndex 2019-09-20 17:11:42 +02:00
Ruben Dashyan
526aa7ed48 [apps/shared/expression_model_store] Simplify recordSatisfyingTestAtIndex and numberOfModelsSatisfyingTest 2019-09-20 17:11:42 +02:00
Ruben Dashyan
71e0c5a556 [apps/shared/expression_model_store] Better assertions 2019-09-20 17:11:42 +02:00
Ruben Dashyan
77cdc32813 [apps/shared/expression_model_store] Fix typo 2019-09-20 17:11:42 +02:00
Ruben Dashyan
652616d9e3 [apps/sequence/sequence] Assert that sum bounds are integrers 2019-09-20 17:11:42 +02:00
Ruben Dashyan
5f9464a548 [apps] In Shared, move cartesian_function.* to continuous_function.* 2019-09-20 17:11:42 +02:00
Ruben Dashyan
df2897925b Rename Shared::CartesianFunction to Shared::ContinuousFunction 2019-09-20 17:11:42 +02:00
Ruben Dashyan
be019cd5cf [apps/graph] Move cartesian_function_store.* to continuous_function_store.* 2019-09-20 17:11:42 +02:00
Ruben Dashyan
3172992e11 [apps] Clean header inclusions 2019-09-20 17:11:42 +02:00
Ruben Dashyan
0466d00588 [apps/graph] Rename CartesianFunctionStore to ContinuousFunctionStore 2019-09-20 17:11:42 +02:00
Ruben Dashyan
d02ecf93a5 [apps] Avoid static casts 2019-09-20 17:11:42 +02:00
Ruben Dashyan
569bcc26d2 [apps/graph/app] Inline accessors in header file 2019-09-20 17:11:42 +02:00
Ruben Dashyan
1908c9c674 [apps/graph] GraphView gets the function store through App
instead of passing a pointer at contruction.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
9efe1515e8 [apps/shared/cartesian_function] Clean header inclusions 2019-09-20 17:11:42 +02:00
Ruben Dashyan
fd568e2bb5 [apps/shared/function_store] Clean header inclusions 2019-09-20 17:11:42 +02:00
Ruben Dashyan
1d966ce23c [apps/*/expression_model_list_controller] editExpression sets text instead of InputViewController::edit 2019-09-20 17:11:42 +02:00
Ruben Dashyan
7d9f479f3c [escher/input_view_controller] Define setTextBody method
And inline textBody method.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
413397652c [apps/*/expression_model_list_controller] Refactor modelStore()
Its return type is covariant. Get the ExpressionModelStore from the App.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
e80aaa649d [apps/solver/list_controller] Use modelStore() 2019-09-20 17:11:42 +02:00
Ruben Dashyan
91e3078234 [apps/*/expression_model_list_controller] Factor isAddEmptyRow 2019-09-20 17:11:42 +02:00
Ruben Dashyan
a5bff416d1 [apps/*/expression_model_list_controller] Use isAddEmptyRow 2019-09-20 17:11:42 +02:00
Ruben Dashyan
d8ec5ab2b3 [apps/sequence/values_controller] Sequence instead of Shared::Function 2019-09-20 17:11:42 +02:00
Ruben Dashyan
94f89f37d7 [apps/sequence/sequence] Simplify isEmpty 2019-09-20 17:11:42 +02:00
Ruben Dashyan
9a3ce0df26 [apps/shared/cartesian_function] Rename CartesianFunctionRecordDataBuffer to RecordDataBuffer 2019-09-20 17:11:42 +02:00
Ruben Dashyan
278a247c34 [apps/sequence] Rename SequenceRecordDataBuffer to RecordDataBuffer 2019-09-20 17:11:42 +02:00
Ruben Dashyan
fd2961018c [apps] In Shared::Function, rename FunctionRecordDataBuffer to RecordDataBuffer 2019-09-20 17:11:42 +02:00
Ruben Dashyan
f73c80daa3 [apps] Gather asserts about the size of function name with argument 2019-09-20 17:11:42 +02:00
Ruben Dashyan
8f88f7fea6 [apps/graph/graph_view] Draw parametric curves with evaluateXYAtParameter 2019-09-20 17:11:42 +02:00
RubenNumworks
3ae6d550aa Merge pull request #1094 from LeaNumworks/FixXNT
Fix xnt
2019-09-20 16:18:57 +02:00
Léa Saviot
45b8c20059 [poincare/layout] Fix XNT when cursor points outside of integrand
Example:
   3
  sum(|4) and XNT event gives n
  n=1

   3
 |sum(4) and XNT event gives 0
  n=1
2019-09-20 15:11:39 +02:00
Léa Saviot
538bb5e5d2 [apps/graph] Do not take into account the sum/integral in XNT
Otherwise, it is impossible to use theta inside a sum in a polar
function
Example: f(theta) = sum(n*theta,0,4) cannot be written
2019-09-20 14:30:36 +02:00
Émilie Feral
ea97775f06 [apps/shared] Re-implement Sequence cursor 2019-09-20 13:44:22 +02:00
Émilie Feral
7525ee3ffc [poincare] Power::shallowReduce: (a^b)^c should not be applied in Real
mode with (x^(1/2))^2.
2019-09-20 13:42:10 +02:00