[New-bugs-announce] [issue46852] Remove float.__get_format__() and float.__set_format__()
STINNER Victor
report at bugs.python.org
Thu Feb 24 19:07:57 EST 2022
New submission from STINNER Victor <vstinner at python.org>:
It has been decided to require IEEE 754 to build Python 3.11:
https://mail.python.org/archives/list/python-dev@python.org/thread/J5FSP6J4EITPY5C2UJI7HSL2GQCTCUWN/
At Python startup, _PyFloat_InitState() checks the IEEE 754 format at runtime. It can be changed using float.__get_format__() and float.__set_format__() methods.
These methods docstrings say that they only exist to test Python itself:
"You probably don't want to use this function. It exists mainly to be used in Python's test suite."
These methods are private and not documented.
I propose to remove them.
Once they will be removed, it will become possible to move the detection of the IEEE 754 format in the build step (./configure script) rather than doing the detection at runtime (slower). It would remove an "if" in _PyFloat_Pack4() and _PyFloat_Pack8(), and allow to specialize these functions for the detected format at build time. These functions are used by serialization formats: marshal, pickle and struct.
----------
components: Interpreter Core
messages: 413943
nosy: vstinner
priority: normal
severity: normal
status: open
title: Remove float.__get_format__() and float.__set_format__()
versions: Python 3.11
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46852>
_______________________________________
More information about the New-bugs-announce
mailing list