Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.929: Test suite poly_ts fails #37

Open
badshah400 opened this issue Jul 9, 2024 · 6 comments
Open

Version 0.929: Test suite poly_ts fails #37

badshah400 opened this issue Jul 9, 2024 · 6 comments

Comments

@badshah400
Copy link
Contributor

When trying to build RPM packages for openSUSE for o2scl version 0.929, we find that the following test fails due to not achieving the right tolerance:

make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/o2scl-0.929/src/other'
./poly_ts > poly.scr
terminate called after throwing an instance of 'o2scl::exc_exception'
  what():  Error efailed in file ../../include/o2scl/poly.h at line 2990.
  Failed to compute with requested accuracy in cubic_real_coeff_multip::solve_rc_tol_err().
/usr/bin/bash: line 1: 25292 Aborted                 ./poly_ts > poly.scr
make[3]: *** [Makefile:1290: poly.scr] Error 134

Here is the data saved to src/other/poly.scr:

~> cat src/other/poly.scr
Quadratics with real coefficients and complex roots:
type                   Avg 1      Avg 2      Max 1      Max 2      time
quad_rc_gsl          : 2.3517e-16 3.1221e-16 1.4211e-14 2.0097e-14 1.6234e-02
quad_rc_gsl2         : 2.3517e-16 3.1221e-16 1.4211e-14 2.0097e-14 1.6169e-02 0
quad_c_std           : 5.1644e-16 5.5661e-16 2.2737e-13 2.2737e-13 3.3117e-02 0
poly_rc_gsl          : 2.0418e-16 4.5500e-16 2.1610e-14 3.1776e-14 2.0474e-02
quad_rc_gsl2_ld      : 9.9053e-20 9.7123e-20 6.9929e-18 9.8131e-18 4.7641e-02 0
quad_c_std_ld        : 1.7869e-19 1.7159e-19 1.1102e-16 1.1102e-16 8.2897e-02 0
quad_rc_gsl2_50      : 6.0556e-51 5.1753e-51 3.4478e-49 4.8382e-49 2.7319e+00 0
quad_c_std_50        : 1.1775e-50 1.0350e-50 5.4738e-48 5.4738e-48 4.1879e+00 0

Quadratics with real coefficients and complex roots -
 coefficients of odd powers small:
type                   Avg 1      Avg 2      Max 1      Max 2      time
quad_rc_gsl          : 2.0806e-16 3.4872e-16 7.1054e-15 1.3874e-14 1.6155e-02
quad_rc_gsl2         : 2.0806e-16 3.4872e-16 7.1054e-15 1.3874e-14 1.6119e-02 0
quad_c_std           : 2.2868e-16 3.4554e-16 7.1210e-15 1.0049e-14 3.3229e-02 0
poly_rc_gsl          : 1.9372e-16 3.5558e-16 4.2809e-15 1.2809e-14 2.0383e-02
quad_rc_gsl2_ld      : 8.6350e-20 1.2926e-19 3.4694e-18 4.9065e-18 4.7592e-02 0
quad_c_std_ld        : 9.3372e-20 1.2653e-19 3.4694e-18 4.9065e-18 8.2949e-02 0
quad_rc_gsl2_50      : 2.9078e-51 3.4692e-51 1.7106e-49 2.4191e-49 2.8965e+00 0
quad_c_std_50        : 2.9950e-51 3.3830e-51 1.7106e-49 2.4191e-49 4.3574e+00 0

Quadratic with complex coefficients and complex roots:
type                   Avg 1      Avg 2      Max 1      Max 2      time
quad_c_std           : 2.5619e-16 3.8935e-16 1.8310e-15 3.9346e-15 7.2059e-01
quad_c_std_ld        : 1.2292e-19 1.8890e-19 9.0224e-19 1.7074e-18 1.7338e+00
quad_c_std_50        : 6.1443e-51 9.3556e-51 4.5984e-50 9.7547e-50 1.3301e+02

Cubics with real coefficients and complex roots:
type                   Avg 1      Avg 2      Max 1      Max 2      time
cubic_rc_cern        : 5.2872e-14 3.6966e-14 1.8779e-09 5.9518e-11 3.2610e-02 10
cubic_rc_gsl         : 4.5183e-16 9.7081e-16 7.5528e-15 3.1598e-14 2.6397e-02
cubic_rc_gsl2        : 4.5727e-16 9.6994e-16 8.4055e-15 3.1598e-14 2.7485e-02 8
cubic_rc_mp          : 1.6156e-16 5.4804e-16 9.9301e-16 1.9548e-14 1.8167e+00 8
cubic_c_std          : 7.1600e-12 1.2402e-11 3.1992e-08 5.5411e-08 7.1792e-02 12154
poly_rc_gsl          : 1.4479e-15 3.1171e-15 9.4734e-15 9.7312e-14 5.6769e-02
cubic_rc_cern_ld     : 2.3790e-11 1.8145e-17 2.4334e-07 3.3941e-14 1.4488e-01 8
cubic_rc_gsl2_ld     : 2.2162e-19 4.7579e-19 3.4762e-18 1.4800e-17 1.0503e-01 42

A list of used compilers/libraries in case it helps:

  • GCC 13.3
  • GSL 2.8
  • Eigen 3.4.0
  • Armadillo 14.0.0
  • MPFR 4.2.1
  • HDF5 1.12.3
  • fftw3 3.3.10

Thanks in advance.

@awsteiner
Copy link
Owner

Is this leap or tumbleweed or something else? Also, just out of curiosity, what version of boost is this? These multiprecision parts depend heavily on Boost...

@awsteiner
Copy link
Owner

I'm going to have to spend some time on this to figure out what's really going on, but in the mean time if you just use
-DO2SCL_FAST_TEST then I think it will skip the test that is failing for you.

@badshah400
Copy link
Contributor Author

Is this leap or tumbleweed or something else? Also, just out of curiosity, what version of boost is this? These multiprecision parts depend heavily on Boost...

This is on Tumbleweed, using boost 1.85. Have not got around to testing on Leap yet. Thanks for looking into it.

@badshah400
Copy link
Contributor Author

Can confirm that passing "-DO2SCL_FAST_TEST" works (but see issue #38).

@awsteiner
Copy link
Owner

Even though -DO2SCL_FAST_TEST works, I want to look into more details about why it fails, so I'll leave this open for now...

@awsteiner
Copy link
Owner

In v0.929.2, all the OpenSUSE-associated actions now succeed. I added O2SCL_OPENSUSE and O2SCL_OPENSUSE_I386 flags to remove the tests which weren't passing. This obviously isn't a fix, so I won't close the issue, but at least this lets me know how it might be addressed in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants