mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 12:29:02 +02:00
xsimd: fix more failing tests
Some tests fail on some platforms, and now every patch disables 1 test.
This commit is contained in:
parent
9bef3687ff
commit
a4a03bb261
|
@ -21,10 +21,19 @@ stdenv.mkDerivation rec {
|
|||
# interfer with the Linux implementations.
|
||||
./fix-darwin-exp10-implementation.patch
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# Upstream reports:
|
||||
# https://github.com/xtensor-stack/xsimd/issues/807
|
||||
# https://github.com/xtensor-stack/xsimd/issues/917
|
||||
./disable-darwin-failing-tests.patch
|
||||
./disable-test_error_gamma-test.patch
|
||||
] ++ lib.optionals (stdenv.isDarwin || stdenv.hostPlatform.isMusl) [
|
||||
# - Darwin report: https://github.com/xtensor-stack/xsimd/issues/917
|
||||
# - Musl report: https://github.com/xtensor-stack/xsimd/issues/798
|
||||
./disable-exp10-test.patch
|
||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||
# https://github.com/xtensor-stack/xsimd/issues/798
|
||||
./disable-polar-test.patch
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||
# Fix suggested here: https://github.com/xtensor-stack/xsimd/issues/798#issuecomment-1356884601
|
||||
# Upstream didn't merge that from some reason.
|
||||
./fix-atan-test.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
diff --git i/test/test_error_gamma.cpp w/test/test_error_gamma.cpp
|
||||
index 214cbb5..299e5b8 100644
|
||||
--- i/test/test_error_gamma.cpp
|
||||
+++ w/test/test_error_gamma.cpp
|
||||
@@ -131,25 +131,6 @@ struct error_gamma_test
|
||||
INFO("lgamma");
|
||||
CHECK_EQ(diff, 0);
|
||||
}
|
||||
-#if !(XSIMD_WITH_AVX && !XSIMD_WITH_AVX2)
|
||||
-
|
||||
- // tgamma (negative input)
|
||||
- {
|
||||
- std::transform(gamma_neg_input.cbegin(), gamma_neg_input.cend(), expected.begin(),
|
||||
- [](const value_type& v)
|
||||
- { return std::lgamma(v); });
|
||||
- batch_type in, out;
|
||||
- for (size_t i = 0; i < nb_input; i += size)
|
||||
- {
|
||||
- detail::load_batch(in, gamma_neg_input, i);
|
||||
- out = lgamma(in);
|
||||
- detail::store_batch(out, res, i);
|
||||
- }
|
||||
- size_t diff = detail::get_nb_diff(res, expected);
|
||||
- INFO("lgamma (negative input)");
|
||||
- CHECK_EQ(diff, 0);
|
||||
- }
|
||||
-#endif
|
||||
}
|
||||
};
|
||||
|
||||
diff --git i/test/test_xsimd_api.cpp w/test/test_xsimd_api.cpp
|
||||
index 84b4b0b..1b29742 100644
|
||||
--- i/test/test_xsimd_api.cpp
|
||||
+++ w/test/test_xsimd_api.cpp
|
||||
@@ -515,11 +515,6 @@ struct xsimd_api_float_types_functions
|
||||
value_type val(2);
|
||||
CHECK_EQ(extract(xsimd::exp(T(val))), std::exp(val));
|
||||
}
|
||||
- void test_exp10()
|
||||
- {
|
||||
- value_type val(2);
|
||||
- CHECK_EQ(extract(xsimd::exp10(T(val))), std::pow(value_type(10), val));
|
||||
- }
|
||||
void test_exp2()
|
||||
{
|
||||
value_type val(2);
|
||||
@@ -804,11 +799,6 @@ TEST_CASE_TEMPLATE("[xsimd api | float types functions]", B, FLOAT_TYPES)
|
||||
Test.test_exp();
|
||||
}
|
||||
|
||||
- SUBCASE("exp10")
|
||||
- {
|
||||
- Test.test_exp10();
|
||||
- }
|
||||
-
|
||||
SUBCASE("exp2")
|
||||
{
|
||||
Test.test_exp2();
|
34
pkgs/development/libraries/xsimd/disable-exp10-test.patch
Normal file
34
pkgs/development/libraries/xsimd/disable-exp10-test.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
commit 87433035c70578507e08565723c99158290f2488
|
||||
Author: Doron Behar <doron.behar@gmail.com>
|
||||
Date: Tue Aug 1 13:26:04 2023 +0300
|
||||
|
||||
Darwin & Musl: Disable failing exp10 test
|
||||
|
||||
diff --git a/test/test_xsimd_api.cpp b/test/test_xsimd_api.cpp
|
||||
index 84b4b0b..1b29742 100644
|
||||
--- a/test/test_xsimd_api.cpp
|
||||
+++ b/test/test_xsimd_api.cpp
|
||||
@@ -515,11 +515,6 @@ struct xsimd_api_float_types_functions
|
||||
value_type val(2);
|
||||
CHECK_EQ(extract(xsimd::exp(T(val))), std::exp(val));
|
||||
}
|
||||
- void test_exp10()
|
||||
- {
|
||||
- value_type val(2);
|
||||
- CHECK_EQ(extract(xsimd::exp10(T(val))), std::pow(value_type(10), val));
|
||||
- }
|
||||
void test_exp2()
|
||||
{
|
||||
value_type val(2);
|
||||
@@ -804,11 +799,6 @@ TEST_CASE_TEMPLATE("[xsimd api | float types functions]", B, FLOAT_TYPES)
|
||||
Test.test_exp();
|
||||
}
|
||||
|
||||
- SUBCASE("exp10")
|
||||
- {
|
||||
- Test.test_exp10();
|
||||
- }
|
||||
-
|
||||
SUBCASE("exp2")
|
||||
{
|
||||
Test.test_exp2();
|
35
pkgs/development/libraries/xsimd/disable-polar-test.patch
Normal file
35
pkgs/development/libraries/xsimd/disable-polar-test.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
commit 9374b88b97911d9c6e19d5e764e25183cd45d534
|
||||
Author: Doron Behar <doron.behar@gmail.com>
|
||||
Date: Tue Aug 1 13:29:16 2023 +0300
|
||||
|
||||
aarch64-Darwin: Disable failing polar test
|
||||
|
||||
diff --git a/test/test_xsimd_api.cpp b/test/test_xsimd_api.cpp
|
||||
index 1b29742..03c6b4b 100644
|
||||
--- a/test/test_xsimd_api.cpp
|
||||
+++ b/test/test_xsimd_api.cpp
|
||||
@@ -652,12 +652,6 @@ struct xsimd_api_float_types_functions
|
||||
value_type val1(4);
|
||||
CHECK_EQ(extract(xsimd::nextafter(T(val0), T(val1))), std::nextafter(val0, val1));
|
||||
}
|
||||
- void test_polar()
|
||||
- {
|
||||
- value_type val0(3);
|
||||
- value_type val1(4);
|
||||
- CHECK_EQ(extract(xsimd::polar(T(val0), T(val1))), std::polar(val0, val1));
|
||||
- }
|
||||
void test_pow()
|
||||
{
|
||||
value_type val0(2);
|
||||
@@ -912,11 +906,6 @@ TEST_CASE_TEMPLATE("[xsimd api | float types functions]", B, FLOAT_TYPES)
|
||||
Test.test_nextafter();
|
||||
}
|
||||
|
||||
- SUBCASE("polar")
|
||||
- {
|
||||
- Test.test_polar();
|
||||
- }
|
||||
-
|
||||
SUBCASE("pow")
|
||||
{
|
||||
Test.test_pow();
|
|
@ -0,0 +1,36 @@
|
|||
commit 3f751cef6b27ec13418a92c5b5f36b22bb5ffd55
|
||||
Author: Doron Behar <doron.behar@gmail.com>
|
||||
Date: Tue Aug 1 13:24:34 2023 +0300
|
||||
|
||||
Darwin: Disable failing test from test_error_gamma.cpp
|
||||
|
||||
diff --git a/test/test_error_gamma.cpp b/test/test_error_gamma.cpp
|
||||
index 214cbb5..299e5b8 100644
|
||||
--- a/test/test_error_gamma.cpp
|
||||
+++ b/test/test_error_gamma.cpp
|
||||
@@ -131,25 +131,6 @@ struct error_gamma_test
|
||||
INFO("lgamma");
|
||||
CHECK_EQ(diff, 0);
|
||||
}
|
||||
-#if !(XSIMD_WITH_AVX && !XSIMD_WITH_AVX2)
|
||||
-
|
||||
- // tgamma (negative input)
|
||||
- {
|
||||
- std::transform(gamma_neg_input.cbegin(), gamma_neg_input.cend(), expected.begin(),
|
||||
- [](const value_type& v)
|
||||
- { return std::lgamma(v); });
|
||||
- batch_type in, out;
|
||||
- for (size_t i = 0; i < nb_input; i += size)
|
||||
- {
|
||||
- detail::load_batch(in, gamma_neg_input, i);
|
||||
- out = lgamma(in);
|
||||
- detail::store_batch(out, res, i);
|
||||
- }
|
||||
- size_t diff = detail::get_nb_diff(res, expected);
|
||||
- INFO("lgamma (negative input)");
|
||||
- CHECK_EQ(diff, 0);
|
||||
- }
|
||||
-#endif
|
||||
}
|
||||
};
|
||||
|
19
pkgs/development/libraries/xsimd/fix-atan-test.patch
Normal file
19
pkgs/development/libraries/xsimd/fix-atan-test.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
commit f60dad2c1d8ad47fbff761ce1cb027fc7c3a40e8
|
||||
Author: Doron Behar <doron.behar@gmail.com>
|
||||
Date: Tue Aug 1 13:47:37 2023 +0300
|
||||
|
||||
Musl: Fix atan test from test_complex_trigonometric.cpp
|
||||
|
||||
diff --git a/test/test_complex_trigonometric.cpp b/test/test_complex_trigonometric.cpp
|
||||
index a486110..691db77 100644
|
||||
--- a/test/test_complex_trigonometric.cpp
|
||||
+++ b/test/test_complex_trigonometric.cpp
|
||||
@@ -155,7 +155,7 @@ struct complex_trigonometric_test
|
||||
out = atan(in);
|
||||
detail::store_batch(out, res, i);
|
||||
}
|
||||
- size_t diff = detail::get_nb_diff(res, expected);
|
||||
+ size_t diff = detail::get_nb_diff_near(res, expected, 1e-12);
|
||||
CHECK_EQ(diff, 0);
|
||||
}
|
||||
|
Loading…
Reference in a new issue