[Debichem-devel] Bug#1115288: Fix for review

tshah tshah at linux.ibm.com
Thu Sep 18 19:05:40 BST 2025


Hello,
I found that the test case failure is not due to incorrect behavior but 
rather seems like it is because of platform-specific floating-point 
precision differences on ppc64le. The numerical error is marginal and 
well within acceptable limits for floating-point operations involving 
matrix decompositions and pseudo-inverses.

This appears to be a case where the test's absolute epsilon (|1e-5|) is 
a bit strict for some platforms, especially when fallback to the normal 
pseudo-inverse occurs (as the fast pseudo-inverse fails). The same issue 
also appears to be for arm64.

To resolve this, I suggest for relaxing the epsilon slightly. Following 
is the diff for that.

diff --git a/unittest/ztensor_cp_test.cc b/unittest/ztensor_cp_test.cc
index e9f9a0f..4cd8446 100644
--- a/unittest/ztensor_cp_test.cc
+++ b/unittest/ztensor_cp_test.cc
@@ -26,6 +26,9 @@ TEST_CASE("ZCP") {
    // double epsilon = fmax(1e-10, std::numeric_limits<double>::epsilon());
    double epsilon = 1e-5;

+  #if defined(__PPC64__) || defined(__powerpc64__)
+    epsilon = 2e-5;
+  #endif
    ztensor Z3(3, 2, 4);
std::ifstream inp3(__dirname + "/z-mat3D.txt");
    if (inp3.is_open()) {
debian at ltc-zz14-lp9:~/test-btas/btas-1.0.0/debian/patches$

Thanks and regards.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debichem-devel/attachments/20250918/221f70d1/attachment.htm>


More information about the Debichem-devel mailing list