GeezerVison is showing github.com — memoryview lacks support for half floats · Issue #90751 · python/cpython
memoryview lacks support for half floats #90751Description
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2022-01-31.15:29:00.019>
labels = ['interpreter-core', 'type-feature', '3.11']
title = 'memoryview lacks support for half floats'
updated_at = <Date 2022-01-31.15:54:50.040>
user = 'https://github.com/pitrou'
bugs.python.org fields:
activity = <Date 2022-01-31.15:54:50.040>
actor = 'corona10'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Interpreter Core']
creation = <Date 2022-01-31.15:29:00.019>
creator = 'pitrou'
dependencies = []
files = []
hgrepos = []
issue_num = 46593
keywords = []
message_count = 1.0
messages = ['412205']
nosy_count = 4.0
nosy_names = ['mark.dickinson', 'pitrou', 'meador.inge', 'corona10']
pr_nums = []
priority = 'normal'
resolution = None
stage = 'needs patch'
status = 'open'
superseder = None
type = 'enhancement'
url = 'https://bugs.python.org/issue46593'
versions = ['Python 3.11']
Activitypitrou commented on Jan 31, 2022 The struct module has support for half-floats (the "e" format code) but support is not fully enabled in the memoryview object.
Let's contrast float32 (the "f" format code), which you can cast to, and read as Python objects:
>>> a = np.array([0.0, -1.5], np.float32())
>>> list(memoryview(a))
[0.0, -1.5]
>>> memoryview(a.tobytes()).cast('f').tolist()
[0.0, -1.5]
and float16, where support is minimal (casting forbidden, reading as Python objects unimplemented):
>>> a = np.array([0.0, -1.5], np.float16())
>>> list(memoryview(a))
Traceback (most recent call last):
File "<ipython-input-15-102982f8ac8e>", line 1, in <module>
list(memoryview(a))
NotImplementedError: memoryview: format e not supported
>>> memoryview(a.tobytes()).cast('e').tolist()
Traceback (most recent call last):
File "<ipython-input-25-78df215a7360>", line 1, in <module>
memoryview(a.tobytes()).cast('e').tolist()
ValueError: memoryview: destination format must be a native single character format prefixed with an optional '@'
corona10 commented on Sep 11, 2022 @pitrou We can close this issue right? pitrou commented on Sep 11, 2022 Ah, sorry, I forgot it. Yes, we can.
MetadataMetadataStatusShow more project fields
DevelopmentNo branches or pull requestsIssue actions
|