On Wed, 30 Aug 2017 20:46:54 -0400, Terry Reedy wrote:

> On 8/30/2017 1:35 PM, Terry Reedy wrote:
>> https://stackoverflow.com/questions/45965545/math-sqrt-domain-error-
when-square-rooting-a-positive-number
[...]

> Three people have reported that math.sqrt(1.3) works in 32 bit Python on
> 64-bit Windows and no one otherwise.  I reported back on SO that the
> problem is likely local.  Thanks for the responses.

I wouldn't entirely rule out a bug yet.

Do the Python Devs have a windows build-bot? If so, perhaps:

- it is currently failing, and nobody noticed;
- it's not failing, because the tests don't cover this case.


The tests for sqrt are not exactly extensive, and the poster on SO 
reports sqrt only fails on *some* numbers, not all.

https://github.com/python/cpython/blob/master/Lib/test/test_math.py


    def testSqrt(self):
        self.assertRaises(TypeError, math.sqrt)
        self.ftest('sqrt(0)', math.sqrt(0), 0)
        self.ftest('sqrt(1)', math.sqrt(1), 1)
        self.ftest('sqrt(4)', math.sqrt(4), 2)
        self.assertEqual(math.sqrt(INF), INF)
        self.assertRaises(ValueError, math.sqrt, -1)
        self.assertRaises(ValueError, math.sqrt, NINF)
        self.assertTrue(math.isnan(math.sqrt(NAN)))



As far as I can see, apart from tests for NAN and ±INF, there are no 
tests of math.sqrt on floats at all.




-- 
Steven D'Aprano
“You are deluded if you think software engineers who can't write 
operating systems or applications without security holes, can write 
virtualization layers without security holes.” —Theo de Raadt
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to