mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
[poincare] Fix tests with new constructors of int, sum and product
This commit is contained in:
@@ -34,7 +34,7 @@ QUIZ_CASE(poincare_parse_function) {
|
||||
assert_parsed_expression_type("gcd(2,3)", ExpressionNode::Type::GreatCommonDivisor);
|
||||
assert_parsed_expression_type("im(2+I)", ExpressionNode::Type::ImaginaryPart);
|
||||
assert_parsed_expression_type("lcm(2,3)", ExpressionNode::Type::LeastCommonMultiple);
|
||||
assert_parsed_expression_type("int(x, 2, 3)", ExpressionNode::Type::Integral);
|
||||
assert_parsed_expression_type("int(x, x, 2, 3)", ExpressionNode::Type::Integral);
|
||||
#if MATRICES_ARE_DEFINED
|
||||
assert_parsed_expression_type("inverse([[1,2,3][4,5,6][7,8,9]])", ExpressionNode::Type::MatrixInverse);
|
||||
#endif
|
||||
@@ -43,7 +43,7 @@ QUIZ_CASE(poincare_parse_function) {
|
||||
assert_parsed_expression_type("permute(10, 4)", ExpressionNode::Type::PermuteCoefficient);
|
||||
assert_parsed_expression_type("prediction(0.1, 100)", ExpressionNode::Type::ConfidenceInterval);
|
||||
assert_parsed_expression_type("prediction95(0.1, 100)", ExpressionNode::Type::PredictionInterval);
|
||||
assert_parsed_expression_type("product(n, 4, 10)", ExpressionNode::Type::Product);
|
||||
assert_parsed_expression_type("product(y,y, 4, 10)", ExpressionNode::Type::Product);
|
||||
assert_parsed_expression_type("quo(29, 10)", ExpressionNode::Type::DivisionQuotient);
|
||||
|
||||
assert_parsed_expression_type("random()", ExpressionNode::Type::Random);
|
||||
@@ -54,7 +54,7 @@ QUIZ_CASE(poincare_parse_function) {
|
||||
assert_parsed_expression_type("root(2,3)", ExpressionNode::Type::NthRoot);
|
||||
assert_parsed_expression_type("R(2)", ExpressionNode::Type::SquareRoot);
|
||||
assert_parsed_expression_type("round(2,3)", ExpressionNode::Type::Round);
|
||||
assert_parsed_expression_type("sum(n, 4, 10)", ExpressionNode::Type::Sum);
|
||||
assert_parsed_expression_type("sum(n,n, 4, 10)", ExpressionNode::Type::Sum);
|
||||
#if MATRICES_ARE_DEFINED
|
||||
assert_parsed_expression_type("trace([[1,2,3][4,5,6][7,8,9]])", ExpressionNode::Type::MatrixTrace);
|
||||
assert_parsed_expression_type("transpose([[1,2,3][4,5,6][7,8,9]])", ExpressionNode::Type::MatrixTranspose);
|
||||
@@ -109,8 +109,8 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("lcm(234,394)", "46098");
|
||||
assert_parsed_expression_evaluates_to<double>("lcm(234,394)", "46098");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("int(x, 1, 2)", "1.5");
|
||||
assert_parsed_expression_evaluates_to<double>("int(x, 1, 2)", "1.5");
|
||||
assert_parsed_expression_evaluates_to<float>("int(x,x, 1, 2)", "1.5");
|
||||
assert_parsed_expression_evaluates_to<double>("int(x,x, 1, 2)", "1.5");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("ln(2)", "0.6931472");
|
||||
assert_parsed_expression_evaluates_to<double>("ln(2)", "6.9314718055995E-1");
|
||||
@@ -121,8 +121,8 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("permute(10, 4)", "5040");
|
||||
assert_parsed_expression_evaluates_to<double>("permute(10, 4)", "5040");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("product(n, 4, 10)", "604800");
|
||||
assert_parsed_expression_evaluates_to<double>("product(n, 4, 10)", "604800");
|
||||
assert_parsed_expression_evaluates_to<float>("product(n,n, 4, 10)", "604800");
|
||||
assert_parsed_expression_evaluates_to<double>("product(n,n, 4, 10)", "604800");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("quo(29, 10)", "2");
|
||||
assert_parsed_expression_evaluates_to<double>("quo(29, 10)", "2");
|
||||
@@ -141,8 +141,8 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("R(-1)", "I");
|
||||
assert_parsed_expression_evaluates_to<double>("R(-1)", "I");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("sum(n, 4, 10)", "49");
|
||||
assert_parsed_expression_evaluates_to<double>("sum(n, 4, 10)", "49");
|
||||
assert_parsed_expression_evaluates_to<float>("sum(r,r, 4, 10)", "49");
|
||||
assert_parsed_expression_evaluates_to<double>("sum(k,k, 4, 10)", "49");
|
||||
|
||||
#if MATRICES_ARE_DEFINED
|
||||
assert_parsed_expression_evaluates_to<float>("trace([[1,2,3][4,5,6][7,8,9]])", "15");
|
||||
@@ -176,8 +176,8 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("prediction95(0.1, 100)", "[[0.0412,0.1588]]");
|
||||
assert_parsed_expression_evaluates_to<double>("prediction95(0.1, 100)", "[[0.0412,0.1588]]");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("product(2+n*I, 1, 5)", "(-100)-540*I");
|
||||
assert_parsed_expression_evaluates_to<double>("product(2+n*I, 1, 5)", "(-100)-540*I");
|
||||
assert_parsed_expression_evaluates_to<float>("product(2+k*I,k, 1, 5)", "(-100)-540*I");
|
||||
assert_parsed_expression_evaluates_to<double>("product(2+o*I,o, 1, 5)", "(-100)-540*I");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("root(3+I, 3)", "1.459366+0.1571201*I");
|
||||
assert_parsed_expression_evaluates_to<double>("root(3+I, 3)", "1.4593656008684+1.5712012294394E-1*I");
|
||||
@@ -191,8 +191,8 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("R(3+I)", "1.755317+0.2848488*I");
|
||||
assert_parsed_expression_evaluates_to<double>("R(3+I)", "1.7553173018244+2.8484878459314E-1*I");
|
||||
|
||||
assert_parsed_expression_evaluates_to<double>("sum(2+n*I,1,5)", "10+15*I");
|
||||
assert_parsed_expression_evaluates_to<double>("sum(2+n*I,1,5)", "10+15*I");
|
||||
assert_parsed_expression_evaluates_to<double>("sum(2+n*I,n,1,5)", "10+15*I");
|
||||
assert_parsed_expression_evaluates_to<double>("sum(2+n*I,n,1,5)", "10+15*I");
|
||||
|
||||
#if MATRICES_ARE_DEFINED
|
||||
assert_parsed_expression_evaluates_to<float>("transpose([[1,2,3][4,5,-6][7,8,9]])", "[[1,4,7][2,5,8][3,-6,9]]");
|
||||
@@ -215,11 +215,11 @@ QUIZ_CASE(poincare_function_evaluate) {
|
||||
assert_parsed_expression_evaluates_to<float>("root(-1,3)", "0.5+0.8660254*I");
|
||||
assert_parsed_expression_evaluates_to<double>("root(-1,3)", "0.5+8.6602540378444E-1*I");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("int(int(x*x,0,x),0,4)", "21.33333");
|
||||
assert_parsed_expression_evaluates_to<double>("int(int(x*x,0,x),0,4)", "21.333333333333");
|
||||
assert_parsed_expression_evaluates_to<float>("int(int(x*x,x,0,x),x,0,4)", "21.33333");
|
||||
assert_parsed_expression_evaluates_to<double>("int(int(x*x,x,0,x),x,0,4)", "21.333333333333");
|
||||
|
||||
assert_parsed_expression_evaluates_to<float>("int(1+cos(x), 0, 180)", "180");
|
||||
assert_parsed_expression_evaluates_to<double>("int(1+cos(x), 0, 180)", "180");
|
||||
assert_parsed_expression_evaluates_to<float>("int(1+cos(e),e, 0, 180)", "180");
|
||||
assert_parsed_expression_evaluates_to<double>("int(1+cos(e),e, 0, 180)", "180");
|
||||
|
||||
Expression exp = parse_expression("random()");
|
||||
assert_exp_is_bounded(exp, 0.0f, 1.0f);
|
||||
|
||||
@@ -44,8 +44,8 @@ QUIZ_CASE(poincare_polynomial_degree) {
|
||||
assert_parsed_expression_polynomial_degree("diff(3*x+x,x,x)", 0, "a");
|
||||
assert_parsed_expression_polynomial_degree("(3*x+2)/3", 1);
|
||||
assert_parsed_expression_polynomial_degree("(3*x+2)/x", -1);
|
||||
assert_parsed_expression_polynomial_degree("int(2*x, 0, 1)", -1);
|
||||
assert_parsed_expression_polynomial_degree("int(2*x, 0, 1)", 0, "a");
|
||||
assert_parsed_expression_polynomial_degree("int(2*x,x, 0, 1)", -1);
|
||||
assert_parsed_expression_polynomial_degree("int(2*x,x, 0, 1)", 0, "a");
|
||||
assert_parsed_expression_polynomial_degree("[[1,2][3,4]]", -1);
|
||||
assert_parsed_expression_polynomial_degree("(x^2+2)*(x+1)", 3);
|
||||
assert_parsed_expression_polynomial_degree("-(x+1)", 1);
|
||||
|
||||
Reference in New Issue
Block a user