Skip to content

Commit

Permalink
[Poincare/tests] Fix ∞ tests
Browse files Browse the repository at this point in the history
  • Loading branch information
RedGl0w committed Feb 12, 2021
1 parent f6c9bb2 commit 135a56b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 30 deletions.
12 changes: 6 additions & 6 deletions poincare/test/approximation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ QUIZ_CASE(poincare_approximation_float) {
}

QUIZ_CASE(poincare_approximation_infinity) {
assert_expression_approximates_to<double>("10^1000", "inf");
assert_expression_approximates_to<double>("10^1000", "");
assert_expression_approximates_to_scalar<double>("10^1000", INFINITY);
}

Expand Down Expand Up @@ -215,7 +215,7 @@ QUIZ_CASE(poincare_approximation_logarithm) {
assert_expression_approximates_to<float>("log(5+2×𝐢)", "0.731199+0.1652518×𝐢");
assert_expression_approximates_to<double>("ln(5+2×𝐢)", "1.6836479149932+3.8050637711236ᴇ-1×𝐢");
assert_expression_approximates_to<double>("log(0,0)", Undefined::Name());
assert_expression_approximates_to<double>("log(0)", "-inf");
assert_expression_approximates_to<double>("log(0)", "-");
assert_expression_approximates_to<double>("log(2,0)", "0");

// WARNING: evaluate on branch cut can be multivalued
Expand Down Expand Up @@ -679,8 +679,8 @@ QUIZ_CASE(poincare_approximation_trigonometry_functions) {
// Key values
assert_expression_approximates_to<float>("atan(0)", "0", Degree);
assert_expression_approximates_to<float>("atan(0)", "0", Gradian);
assert_expression_approximates_to<double>("atan(-𝐢)", "-inf×𝐢", Radian);
assert_expression_approximates_to<double>("atan(𝐢)", "inf×𝐢", Radian);
assert_expression_approximates_to<double>("atan(-𝐢)", "-×𝐢", Radian);
assert_expression_approximates_to<double>("atan(𝐢)", "×𝐢", Radian);

/* cosh: R -> R (even)
* R×𝐢 -> R (oscillator)
Expand Down Expand Up @@ -978,8 +978,8 @@ QUIZ_CASE(poincare_approximation_complex_format) {
assert_expression_approximates_to<double>("1ᴇ155-1ᴇ155×𝐢", "1.41421356237ᴇ155×ℯ^\u0012-0.785398163397×𝐢\u0013", Radian, Metric, Polar,12);
assert_expression_approximates_to<float>("-2ᴇ100+2ᴇ100×𝐢", Undefined::Name());
assert_expression_approximates_to<double>("-2ᴇ360+2ᴇ360×𝐢", Undefined::Name());
assert_expression_approximates_to<float>("-2ᴇ100+2ᴇ10×𝐢", "-inf+2ᴇ10×𝐢");
assert_expression_approximates_to<double>("-2ᴇ360+2×𝐢", "-inf+2×𝐢");
assert_expression_approximates_to<float>("-2ᴇ100+2ᴇ10×𝐢", "-+2ᴇ10×𝐢");
assert_expression_approximates_to<double>("-2ᴇ360+2×𝐢", "-+2×𝐢");
assert_expression_approximates_to<float>("undef+2ᴇ100×𝐢", Undefined::Name());
assert_expression_approximates_to<double>("-2ᴇ360+undef×𝐢", Undefined::Name());
}
Expand Down
2 changes: 1 addition & 1 deletion poincare/test/expression_serialization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ QUIZ_CASE(poincare_serialization_rational) {
assert_expression_serialize_to(Rational::Builder(MaxIntegerString()), MaxIntegerString());
Integer one(1);
Integer overflow = Integer::Overflow(false);
assert_expression_serialize_to(Rational::Builder(one, overflow), "1/inf");
assert_expression_serialize_to(Rational::Builder(one, overflow), "1/");
assert_expression_serialize_to(Rational::Builder(overflow), Infinity::Name());
}

Expand Down
46 changes: 23 additions & 23 deletions poincare/test/simplification.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ QUIZ_CASE(poincare_simplification_rational) {
// -OverflowedIntegerString()
buffer[0] = '-';
strlcpy(buffer+1, BigOverflowedIntegerString(), 400-1);
assert_parsed_expression_simplify_to(buffer, "-inf");
assert_parsed_expression_simplify_to(buffer, "-");

assert_parsed_expression_simplify_to("-1/3", "-1/3");
assert_parsed_expression_simplify_to("22355/45325", "4471/9065");
Expand Down Expand Up @@ -69,26 +69,26 @@ QUIZ_CASE(poincare_simplification_infinity) {
assert_parsed_expression_simplify_to("0×inf", Undefined::Name());
assert_parsed_expression_simplify_to("0×inf×π", Undefined::Name());
assert_parsed_expression_simplify_to("3×inf/inf", "undef");
assert_parsed_expression_simplify_to("1ᴇ1000", "inf");
assert_parsed_expression_simplify_to("-1ᴇ1000", "-inf");
assert_parsed_expression_simplify_to("1ᴇ1000", "");
assert_parsed_expression_simplify_to("-1ᴇ1000", "-");
assert_parsed_expression_simplify_to("-1ᴇ-1000", "0");
assert_parsed_expression_simplify_to("1ᴇ-1000", "0");
//assert_parsed_expression_simplify_to("1×10^1000", "inf");

assert_parsed_expression_simplify_to("inf^0", "undef");
assert_parsed_expression_simplify_to("1^inf", "1^inf");
assert_parsed_expression_simplify_to("1^(X^inf)", "1^\u0012X^inf\u0013");
assert_parsed_expression_simplify_to("1^inf", "1^");
assert_parsed_expression_simplify_to("1^(X^inf)", "1^\u0012X^\u0013");
assert_parsed_expression_simplify_to("inf^(-1)", "0");
assert_parsed_expression_simplify_to("(-inf)^(-1)", "0");
assert_parsed_expression_simplify_to("inf^(-√(2))", "0");
assert_parsed_expression_simplify_to("(-inf)^(-√(2))", "0");
assert_parsed_expression_simplify_to("inf^2", "inf");
assert_parsed_expression_simplify_to("(-inf)^2", "inf");
assert_parsed_expression_simplify_to("inf^√(2)", "inf");
assert_parsed_expression_simplify_to("(-inf)^√(2)", "inf×(-1)^√(2)");
assert_parsed_expression_simplify_to("inf^x", "inf^x");
assert_parsed_expression_simplify_to("inf^2", "");
assert_parsed_expression_simplify_to("(-inf)^2", "");
assert_parsed_expression_simplify_to("inf^√(2)", "");
assert_parsed_expression_simplify_to("(-inf)^√(2)", "×(-1)^√(2)");
assert_parsed_expression_simplify_to("inf^x", "^x");
assert_parsed_expression_simplify_to("1/inf+24", "24");
assert_parsed_expression_simplify_to("ℯ^(inf)/inf", "0×ℯ^inf");
assert_parsed_expression_simplify_to("ℯ^(inf)/inf", "0×ℯ^");

// Logarithm
assert_parsed_expression_simplify_to("log(inf,0)", "undef");
Expand All @@ -97,11 +97,11 @@ QUIZ_CASE(poincare_simplification_infinity) {
assert_parsed_expression_simplify_to("log(1,inf)", "0");
assert_parsed_expression_simplify_to("log(inf,inf)", "undef");

assert_parsed_expression_simplify_to("ln(inf)", "inf");
assert_parsed_expression_simplify_to("log(inf,-3)", "log(inf,-3)");
assert_parsed_expression_simplify_to("log(inf,3)", "inf");
assert_parsed_expression_simplify_to("log(inf,0.3)", "-inf");
assert_parsed_expression_simplify_to("log(inf,x)", "log(inf,x)");
assert_parsed_expression_simplify_to("ln(inf)", "");
assert_parsed_expression_simplify_to("log(inf,-3)", "log(,-3)");
assert_parsed_expression_simplify_to("log(inf,3)", "");
assert_parsed_expression_simplify_to("log(inf,0.3)", "-");
assert_parsed_expression_simplify_to("log(inf,x)", "log(,x)");
assert_parsed_expression_simplify_to("ln(inf)*0", "undef");
}

Expand Down Expand Up @@ -436,8 +436,8 @@ QUIZ_CASE(poincare_simplification_units) {
* expression */
assert_parsed_expression_simplify_to("0×_s", "0×_s");
assert_parsed_expression_simplify_to("0×_tsp", "0×_m^3");
assert_parsed_expression_simplify_to("inf×_s", "inf×_s");
assert_parsed_expression_simplify_to("-inf×_oz", "-inf×_kg");
assert_parsed_expression_simplify_to("inf×_s", "×_s");
assert_parsed_expression_simplify_to("-inf×_oz", "-×_kg");
assert_parsed_expression_simplify_to("2_s+3_s-5_s", "0×_s");
assert_parsed_expression_simplify_to("normcdf(0,20,3)×_s", "13.083978345207×_ps");
assert_parsed_expression_simplify_to("log(0)×_s", "undef");
Expand Down Expand Up @@ -917,7 +917,7 @@ QUIZ_CASE(poincare_simplification_trigonometry_functions) {

assert_parsed_expression_simplify_to("acos(cos(12))", "4×π-12");
assert_parsed_expression_simplify_to("acos(cos(2*1ᴇ10))", "20000000000");
assert_parsed_expression_simplify_to("acos(cos(inf))", "acos(cos(inf))");
assert_parsed_expression_simplify_to("acos(cos(inf))", "acos(cos())");
assert_parsed_expression_simplify_to("acos(cos(9))", "-2×π+9");
assert_parsed_expression_simplify_to("acos(cos(10^125))", "acos(cos(10^125))");
assert_parsed_expression_simplify_to("acos(cos(1/0))", Undefined::Name());
Expand Down Expand Up @@ -1324,7 +1324,7 @@ QUIZ_CASE(poincare_simplification_complex_format) {
// Cartesian
assert_parsed_expression_simplify_to("-2.3ᴇ3", "-2300", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("3", "3", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("inf", "inf", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("inf", "", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("1+2+𝐢", "3+𝐢", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("-(5+2×𝐢)", "-5-2×𝐢", User, Radian, Metric, Cartesian);
assert_parsed_expression_simplify_to("(5+2×𝐢)", "5+2×𝐢", User, Radian, Metric, Cartesian);
Expand Down Expand Up @@ -1413,7 +1413,7 @@ QUIZ_CASE(poincare_simplification_complex_format) {
// Polar
assert_parsed_expression_simplify_to("-2.3ᴇ3", "2300×ℯ^\u0012π×𝐢\u0013", User, Radian, Metric, Polar);
assert_parsed_expression_simplify_to("3", "3", User, Radian, Metric, Polar);
assert_parsed_expression_simplify_to("inf", "inf", User, Radian, Metric, Polar);
assert_parsed_expression_simplify_to("inf", "", User, Radian, Metric, Polar);
assert_parsed_expression_simplify_to("1+2+𝐢", "√(10)×ℯ^\u0012\u0012-2×atan(3)+π\u0013/2×𝐢\u0013", User, Radian, Metric, Polar);
assert_parsed_expression_simplify_to("1+2+𝐢", "√(10)×ℯ^\u0012\u0012-π×atan(3)+90×π\u0013/180×𝐢\u0013", User, Degree, Metric, Polar);
assert_parsed_expression_simplify_to("-(5+2×𝐢)", "√(29)×ℯ^\u0012\u0012-2×atan(5/2)-π\u0013/2×𝐢\u0013", User, Radian, Metric, Polar);
Expand Down Expand Up @@ -1669,9 +1669,9 @@ QUIZ_CASE(poincare_hyperbolic_trigonometry) {

QUIZ_CASE(poincare_probability) {
assert_parsed_expression_simplify_to("invnorm(-1.3,2,3)", Undefined::Name());
assert_parsed_expression_simplify_to("invnorm(0,2,3)", "-inf");
assert_parsed_expression_simplify_to("invnorm(0,2,3)", "-");
assert_parsed_expression_simplify_to("invnorm(0.5,2,3)", "2");
assert_parsed_expression_simplify_to("invnorm(1,2,3)", "inf");
assert_parsed_expression_simplify_to("invnorm(1,2,3)", "");
assert_parsed_expression_simplify_to("invnorm(1.3,2,3)", "undef");
assert_parsed_expression_simplify_to("invnorm(3/4,2,random())", "invnorm(3/4,2,random())"); // random can be 0
assert_parsed_expression_simplify_to("invnorm(0.5,2,0)", Undefined::Name());
Expand Down

0 comments on commit 135a56b

Please sign in to comment.