Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BLD: clean up incorrect-but-hardcoded define for
strtold_l
check.
GNU-specific and missing on many platforms, see https://www.gnu.org/software///gnulib/manual/html_node/strtold_005fl.html If it does go missing, the only problem seems to be some minor changes in long double printing code, failing two tests: ``` ______________________________ test_str_roundtrip ______________________________ @pytest.mark.skipif(IS_MUSL, reason="test flaky on musllinux") @pytest.mark.skipif(LD_INFO.precision + 2 >= repr_precision, reason="repr precision not enough to show eps") def test_str_roundtrip(): # We will only see eps in repr if within printing precision. o = 1 + LD_INFO.eps > assert_equal(np.longdouble(str(o)), o, "str was %s" % str(o)) E AssertionError: E Items are not equal: str was 1.0000000000000000001 E ACTUAL: np.longdouble('1.0') E DESIRED: np.longdouble('1.0000000000000000001') o = np.longdouble('1.0000000000000000001') numpy/_core/tests/test_longdouble.py:43: AssertionError ____________________ TestRealScalars.test_dragon4_interface ____________________ self = <numpy._core.tests.test_scalarprint.TestRealScalars object at 0x7f5804791df0> def test_dragon4_interface(self): tps = [np.float16, np.float32, np.float64] # test is flaky for musllinux on np.float128 if hasattr(np, 'float128') and not IS_MUSL: tps.append(np.float128) fpos = np.format_float_positional fsci = np.format_float_scientific for tp in tps: # test padding assert_equal(fpos(tp('1.0'), pad_left=4, pad_right=4), " 1. ") assert_equal(fpos(tp('-1.0'), pad_left=4, pad_right=4), " -1. ") > assert_equal(fpos(tp('-10.2'), pad_left=4, pad_right=4), " -10.2 ") E AssertionError: E Items are not equal: E ACTUAL: ' -10.1999999999999992895' E DESIRED: ' -10.2 ' fpos = <function format_float_positional at 0x7f580b047700> fsci = <function format_float_scientific at 0x7f580b047670> self = <numpy._core.tests.test_scalarprint.TestRealScalars object at 0x7f5804791df0> tp = <class 'numpy.longdouble'> tps = [<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.longdouble'>] numpy/_core/tests/test_scalarprint.py:276: AssertionError =========================== short test summary info ============================ FAILED numpy/_core/tests/test_longdouble.py::test_str_roundtrip - AssertionError: Items are not equal: str was 1.0000000000000000001 ACTUAL: np.longdouble('1.0') DESIRED: np.longdouble('1.0000000000000000001') FAILED numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_dragon4_interface - AssertionError: Items are not equal: ACTUAL: ' -10.1999999999999992895' DESIRED: ' -10.2 ' ```
- Loading branch information