diff --git a/apps/math_toolbox.cpp b/apps/math_toolbox.cpp index 389607d6e..07614dc2d 100644 --- a/apps/math_toolbox.cpp +++ b/apps/math_toolbox.cpp @@ -11,8 +11,10 @@ const ToolboxNode calculChildren[4] = {ToolboxNode(I18n::Message::DiffCommand, I const ToolboxNode complexChildren[5] = {ToolboxNode(I18n::Message::AbsCommand, I18n::Message::ComplexAbsoluteValue), ToolboxNode(I18n::Message::ArgCommand, I18n::Message::Agument), ToolboxNode(I18n::Message::ReCommand, I18n::Message::ReelPart), ToolboxNode(I18n::Message::ImCommand, I18n::Message::ImaginaryPart), ToolboxNode(I18n::Message::ConjCommand, I18n::Message::Conjugate)}; const ToolboxNode probabilityChildren[2] = {ToolboxNode(I18n::Message::BinomialCommand, I18n::Message::Combination), ToolboxNode(I18n::Message::PermuteCommand, I18n::Message::Permutation)}; const ToolboxNode arithmeticChildren[4] = {ToolboxNode(I18n::Message::GcdCommand, I18n::Message::GreatCommonDivisor),ToolboxNode(I18n::Message::LcmCommand, I18n::Message::LeastCommonMultiple), ToolboxNode(I18n::Message::RemCommand, I18n::Message::Remainder), ToolboxNode(I18n::Message::QuoCommand, I18n::Message::Quotient)}; +#if MATRICES_ARE_DEFINED const ToolboxNode matricesChildren[5] = {ToolboxNode(I18n::Message::InverseCommand, I18n::Message::Inverse), ToolboxNode(I18n::Message::DeterminantCommand, I18n::Message::Determinant), ToolboxNode(I18n::Message::TransposeCommand, I18n::Message::Transpose), ToolboxNode(I18n::Message::TraceCommand, I18n::Message::Trace), ToolboxNode(I18n::Message::DimensionCommand, I18n::Message::Dimension)}; const ToolboxNode listesChildren[5] = {ToolboxNode(I18n::Message::SortCommand, I18n::Message::Sort), ToolboxNode(I18n::Message::InvSortCommand, I18n::Message::InvSort), ToolboxNode(I18n::Message::MaxCommand, I18n::Message::Maximum), ToolboxNode(I18n::Message::MinCommand, I18n::Message::Minimum), ToolboxNode(I18n::Message::DimensionCommand, I18n::Message::Dimension)}; +#endif const ToolboxNode approximationChildren[4] = {ToolboxNode(I18n::Message::FloorCommand, I18n::Message::Floor), ToolboxNode(I18n::Message::FracCommand, I18n::Message::FracPart), ToolboxNode(I18n::Message::CeilCommand, I18n::Message::Ceiling), ToolboxNode(I18n::Message::RoundCommand, I18n::Message::Rounding)}; const ToolboxNode trigonometryChildren[6] = {ToolboxNode(I18n::Message::CoshCommand, I18n::Message::Cosh), ToolboxNode(I18n::Message::SinhCommand, I18n::Message::Sinh), ToolboxNode(I18n::Message::TanhCommand, I18n::Message::Tanh), ToolboxNode(I18n::Message::AcoshCommand, I18n::Message::Acosh), ToolboxNode(I18n::Message::AsinhCommand, I18n::Message::Asinh), ToolboxNode(I18n::Message::AtanhCommand, I18n::Message::Atanh)}; const ToolboxNode predictionChildren[3] = {ToolboxNode(I18n::Message::Prediction95Command, I18n::Message::Prediction95), ToolboxNode(I18n::Message::PredictionCommand, I18n::Message::Prediction), ToolboxNode(I18n::Message::ConfidenceCommand, I18n::Message::Confidence)}; diff --git a/poincare/test/addition.cpp b/poincare/test/addition.cpp index c5f205edb..fb193b93a 100644 --- a/poincare/test/addition.cpp +++ b/poincare/test/addition.cpp @@ -27,6 +27,7 @@ QUIZ_CASE(poincare_addition_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("[[1,2][3,4][5,6]]+3"); e = a->evaluate(globalContext); assert(e->operand(0)->approximate(globalContext) == 4.0f); @@ -96,4 +97,5 @@ QUIZ_CASE(poincare_addition_evaluate) { assert(((Complex *)e->operand(5))->a() == 12.0f && ((Complex *)e->operand(5))->b() == 1.0f); delete a; delete e; +#endif } diff --git a/poincare/test/fraction.cpp b/poincare/test/fraction.cpp index 3cdd476fb..f13f5fb37 100644 --- a/poincare/test/fraction.cpp +++ b/poincare/test/fraction.cpp @@ -28,6 +28,7 @@ QUIZ_CASE(poincare_fraction_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("[[1,2][3,4][5,6]]/2"); e = a->evaluate(globalContext); assert(e->operand(0)->approximate(globalContext) == 0.5f); @@ -59,4 +60,5 @@ QUIZ_CASE(poincare_fraction_evaluate) { assert(fabsf(e->operand(3)->approximate(globalContext) - 0.0f) < 0.000001f); delete a; delete e; +#endif } diff --git a/poincare/test/function.cpp b/poincare/test/function.cpp index 885fd3098..b41b8c690 100644 --- a/poincare/test/function.cpp +++ b/poincare/test/function.cpp @@ -28,6 +28,7 @@ QUIZ_CASE(poincare_parse_function) { assert(e->type() == Expression::Type::Derivative); delete e; +#if MATRICES_ARE_DEFINED e = Expression::parse("dim([[2]])"); assert(e->type() == Expression::Type::MatrixDimension); delete e; @@ -35,6 +36,7 @@ QUIZ_CASE(poincare_parse_function) { e = Expression::parse("det([[1,2,3][4,5,6][7,8,9]])"); assert(e->type() == Expression::Type::Determinant); delete e; +#endif e = Expression::parse("confidence(0.1, 100)"); assert(e->type() == Expression::Type::ConfidenceInterval); @@ -65,9 +67,11 @@ QUIZ_CASE(poincare_parse_function) { assert(e->type() == Expression::Type::Integral); delete e; +#if MATRICES_ARE_DEFINED e = Expression::parse("inverse([[1,2,3][4,5,6][7,8,9]])"); assert(e->type() == Expression::Type::MatrixInverse); delete e; +#endif e = Expression::parse("lcm(2,3)"); assert(e->type() == Expression::Type::LeastCommonMultiple); @@ -127,6 +131,7 @@ QUIZ_CASE(poincare_parse_function) { assert(e->type() == Expression::Type::Sum); delete e; +#if MATRICES_ARE_DEFINED e = Expression::parse("trace([[1,2,3][4,5,6][7,8,9]])"); assert(e->type() == Expression::Type::MatrixTrace); delete e; @@ -134,6 +139,7 @@ QUIZ_CASE(poincare_parse_function) { e = Expression::parse("transpose([[1,2,3][4,5,6][7,8,9]])"); assert(e->type() == Expression::Type::MatrixTranspose); delete e; +#endif } @@ -160,9 +166,11 @@ QUIZ_CASE(poincare_function_approximate) { assert(e->approximate(globalContext) == 2.0f); delete e; +#if MATRICES_ARE_DEFINED e = Expression::parse("det([[1,23,3][4,5,6][7,8,9]])"); assert(fabsf(e->approximate(globalContext)-126.0f) <= 0.0001f); delete e; +#endif e = Expression::parse("floor(2.3)"); assert(e->approximate(globalContext) == 2.0f); @@ -235,9 +243,11 @@ QUIZ_CASE(poincare_function_approximate) { assert(e->approximate(globalContext) == 49.0f); delete e; +#if MATRICES_ARE_DEFINED e = Expression::parse("trace([[1,2,3][4,5,6][7,8,9]])"); assert(e->approximate(globalContext) == 15.0f); delete e; +#endif } QUIZ_CASE(poincare_function_evaluate) { @@ -257,12 +267,14 @@ QUIZ_CASE(poincare_function_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("dim([[1,2,3][4,5,-6]])"); e = a->evaluate(globalContext); assert(fabsf(e->operand(0)->approximate(globalContext)-2.0f) <= 0.00001f); assert(fabsf(e->operand(1)->approximate(globalContext) -3.0f) <= 0.00001f); delete a; delete e; +#endif char conjText[20] ={'c','o', 'n','j', '(', '3', '+', '2', '*', Ion::Charset::IComplex, ')', 0}; a = Expression::parse(conjText); @@ -272,6 +284,7 @@ QUIZ_CASE(poincare_function_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("inverse([[1,2,3][4,5,-6][7,8,9]])"); e = a->evaluate(globalContext); assert(fabsf(e->operand(0)->approximate(globalContext)-(-31.0f/24.0f)) <= 0.00001f); @@ -285,6 +298,7 @@ QUIZ_CASE(poincare_function_evaluate) { assert(fabsf(e->operand(8)->approximate(globalContext) -(1.0f/24.0f)) <= 0.00001f); delete a; delete e; +#endif a = Expression::parse("prediction(0.1, 100)"); e = a->evaluate(globalContext); @@ -341,6 +355,7 @@ QUIZ_CASE(poincare_function_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("transpose([[1,2,3][4,5,-6][7,8,9]])"); e = a->evaluate(globalContext); assert(fabsf(e->operand(0)->approximate(globalContext)-1.0f) <= 0.00001f); @@ -354,4 +369,5 @@ QUIZ_CASE(poincare_function_evaluate) { assert(fabsf(e->operand(8)->approximate(globalContext) -9.0f) <= 0.00001f); delete a; delete e; +#endif } diff --git a/poincare/test/matrix.cpp b/poincare/test/matrix.cpp index df10764e4..ae5d01695 100644 --- a/poincare/test/matrix.cpp +++ b/poincare/test/matrix.cpp @@ -5,6 +5,7 @@ using namespace Poincare; QUIZ_CASE(poincare_matrix_evaluate) { +#if MATRICES_ARE_DEFINED GlobalContext globalContext; Expression * f = Expression::parse("[[1,2,3][4,5,6]]"); assert(f->operand(0)->approximate(globalContext) == 1.0f); @@ -14,4 +15,5 @@ QUIZ_CASE(poincare_matrix_evaluate) { assert(f->operand(4)->approximate(globalContext) == 5.0f); assert(f->operand(5)->approximate(globalContext) == 6.0f); delete f; +#endif } diff --git a/poincare/test/power.cpp b/poincare/test/power.cpp index b34ce8cc2..24d65b352 100644 --- a/poincare/test/power.cpp +++ b/poincare/test/power.cpp @@ -35,6 +35,7 @@ QUIZ_CASE(poincare_power_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("[[1,2][3,4]]^3"); e = a->evaluate(globalContext); assert(e->operand(0)->approximate(globalContext) == 37.0f); @@ -43,4 +44,5 @@ QUIZ_CASE(poincare_power_evaluate) { assert(e->operand(3)->approximate(globalContext) == 118.0f); delete a; delete e; +#endif } diff --git a/poincare/test/product.cpp b/poincare/test/product.cpp index d834a3c31..e92da9927 100644 --- a/poincare/test/product.cpp +++ b/poincare/test/product.cpp @@ -27,6 +27,7 @@ QUIZ_CASE(poincare_product_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("[[1,2][3,4][5,6]]*2"); e = a->evaluate(globalContext); assert(e->operand(0)->approximate(globalContext) == 2.0f); @@ -109,4 +110,5 @@ QUIZ_CASE(poincare_product_evaluate) { assert(((Complex *)e->operand(11))->a() == 68.0f && ((Complex *)e->operand(11))->b() == 0.0f); delete a; delete e; +#endif } diff --git a/poincare/test/subtraction.cpp b/poincare/test/subtraction.cpp index f114b121a..093eb3074 100644 --- a/poincare/test/subtraction.cpp +++ b/poincare/test/subtraction.cpp @@ -27,6 +27,7 @@ QUIZ_CASE(poincare_substraction_evaluate) { delete a; delete e; +#if MATRICES_ARE_DEFINED a = Expression::parse("[[1,2][3,4][5,6]]-3"); e = a->evaluate(globalContext); assert(e->operand(0)->approximate(globalContext) == -2.0f); @@ -96,4 +97,5 @@ QUIZ_CASE(poincare_substraction_evaluate) { assert(((Complex *)e->operand(5))->a() == 0.0f && ((Complex *)e->operand(5))->b() == -1.0f); delete a; delete e; +#endif }