New submission from STINNER Victor <vstin...@python.org>:

It has been decided to require IEEE 754 to build Python 3.11:
https://mail.python.org/archives/list/python-...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue46852>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to