On 07.02.2017 00:46, Steven D'Aprano wrote: > On Mon, Feb 06, 2017 at 11:29:17AM +0100, M.-A. Lemburg wrote: > >> I'm not sure how useful this would be in the stdlib, >> since it's very much tied to whatever float type Python >> happens to use on a platform. > > With the possible exception of µPy, are there any Python implementations > which don't use a C double as float?
(I'm not sure what you mean with "µPy") By far most implementations will use IEEE 754 64-bit doubles: https://en.wikipedia.org/wiki/Double-precision_floating-point_format MicroPython also supports single precision float configurations or no floats at all (depends on the availability of an FPU). What I wanted to say with the above comment is that Python itself does not make guarantees on how floats are represented internally (in CPython it's a C double, which only has minimum requirements). In theory, it would be possible to have a Python implementation using e.g. binary128 floats or MPFR (http://www.mpfr.org/). You are right in saying that this is a rather unlikely case :-) However, using the internal representation of floats to define a "valid" interval for roots doesn't sound like a good concept. Those intervals will depend on where the roots are. Close to 0, the intervals will be very small, near the outer range limits, very large: https://blogs.msdn.microsoft.com/dwayneneed/2010/05/06/fun-with-floating-point/ I guess there is some use in trying to determine the error intervals of calculations, though. Perhaps that's the main intent of those functions. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Feb 07 2017) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ ::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ http://www.malemburg.com/ _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/