On Sat, Sep 12, 2020 at 5:05 PM Steven D'Aprano <st...@pearwood.info> wrote:
> On Sat, Sep 12, 2020 at 12:56:25PM -0700, Christopher Barker wrote: > > > Is there any guarantee in Python or the C spec, or the IEEE spec that, > e.g.: > > 1e10000 > > would create an Inf value, rather than an error of some sort? > > IEEE-754 requires that float literals overflow to infinity. > sure, which means that, e.g. 1e100 * 1e300 would overflow to Inf. But that doesn't say anything about interpreting a literal. I don't if C libs necessarily parse: xxEyy and then do xx * 10**yy, which would be an overflow, or if they do something more direct, in which case, they *could* note that the value is not representable and raise an error. So that's what I'm wondering -- is there a standard that says the a too-large literal should overflow, and therefgor create and inf, rather than being an error. by the way, this behavior is not consistent with python, which will give an error, rather than returning inf when the same operation overflows: In [22]: math.pow(10, 1000) --------------------------------------------------------------------------- OverflowError Traceback (most recent call last) <ipython-input-22-6efc9a2b034c> in <module> ----> 1 math.pow(10, 1000) OverflowError: math range error So in Python, at least, interpreting the literal is not the same as computing the pow(). -CHB > I don't have a source for this (I cannot find a copy of the IEEE-754 > standard except behind paywalls) but I have a very strong memory of > either Tim Peters and Mark Dickinson stating this, and I believe them. > (If either of them are reading this, please confirm or deny.) > > > > And there's still NaN -- any way to get that with a literal? > > If you have an INF, then you can generate a NAN with `INF - INF`. > > In general though, Python doesn't support generating the full range of > NANs with payloads directly. > > > > -- > Steve > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/LX5XVAN3FZCXBBHVKU6MGKWXZAS63Y2D/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- Christopher Barker, PhD Python Language Consulting - Teaching - Scientific Software Development - Desktop GUI and Web Development - wxPython, numpy, scipy, Cython
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/HIGHOUUIA7G4CL5EO43TMYXX56QR5ZTV/ Code of Conduct: http://python.org/psf/codeofconduct/