[poincare] Fix tests: different libm have various precisions on trigonometric function

(tan(pi/2) is not always undef). Change approximation tests to be
correct on travis platform.
This commit is contained in:
Émilie Feral
2019-09-18 15:24:51 +02:00
parent fd6c611c7e
commit f995cd3a90
2 changed files with 6 additions and 5 deletions

View File

@@ -473,9 +473,6 @@ QUIZ_CASE(poincare_approximation_trigonometry_functions) {
assert_expression_approximates_to<double>("tan(2)", "3.4920769491748ᴇ-2", Degree);
assert_expression_approximates_to<double>("tan(2)", "3.1426266043351ᴇ-2", Gradian);
// Tangent-style
assert_expression_approximates_to<float>("tan(π/2)", Undefined::Name(), Radian);
assert_expression_approximates_to<double>("tan(3×π/2)", Undefined::Name(), Radian);
assert_expression_approximates_to<double>("tan(100)", Undefined::Name(), Gradian);
assert_expression_approximates_to<float>("tan(3×π)", "0", Radian);
assert_expression_approximates_to<float>("tan(-540)", "0", Degree);
assert_expression_approximates_to<float>("tan(-600)", "0", Gradian);
@@ -873,8 +870,8 @@ QUIZ_CASE(poincare_approximation_complex_format) {
assert_expression_approximates_to<double>("3+𝐢", "3.16227766017×^\u00120.321750554397×𝐢\u0013", Radian, Polar,12);
assert_expression_approximates_to<float>("3-𝐢", "3.162278×^\u0012-0.3217506×𝐢\u0013", Radian, Polar);
assert_expression_approximates_to<double>("3-𝐢-3", "^\u0012-1.57079632679×𝐢\u0013", Radian, Polar,12);
assert_expression_approximates_to<float>("2^(𝐢)", "2×^𝐢", Radian, Polar, 5);
assert_expression_approximates_to<double>("2^(-𝐢)", "2×^\u0012-𝐢\u0013", Radian, Polar, 5);
assert_expression_approximates_to<float>("2^(𝐢)", "2×^𝐢", Radian, Polar, 4);
assert_expression_approximates_to<double>("2^(-𝐢)", "2×^\u0012-𝐢\u0013", Radian, Polar, 9);
assert_expression_approximates_to<float>("𝐢", "^\u00121.570796×𝐢\u0013", Radian, Polar);
assert_expression_approximates_to<double>("√(-1)", "^\u00121.5707963267949×𝐢\u0013", Radian, Polar);

View File

@@ -488,6 +488,10 @@ QUIZ_CASE(poincare_simplication_trigonometry_functions) {
// -- tan
assert_parsed_expression_simplify_to("tan(0)", "0");
assert_parsed_expression_simplify_to("tan(π)", "0");
assert_parsed_expression_simplify_to("tan(3×π/2)", Undefined::Name());
assert_parsed_expression_simplify_to("tan(π/2)", Undefined::Name());
assert_parsed_expression_simplify_to("tan(90)", Undefined::Name(), User, Degree);
assert_parsed_expression_simplify_to("tan(100)", Undefined::Name(), User, Gradian);
assert_parsed_expression_simplify_to("tan(π×35/29)", "tan(\u00126×π\u0013/29)");
assert_parsed_expression_simplify_to("tan(-π×35/29)", "-tan(\u00126×π\u0013/29)");
assert_parsed_expression_simplify_to("tan(π×340000)", "0");