-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Explain what you would like to see improved and how.
RtypesCores.h currently has Float16_t, which, according to the documentation, represents an (on-disk) 16-bit floating point number as a 32-bit with truncated mantissa in memory. This would correspond to a bfloat16. The IEEE standard however also prescribes a half-precision float which has a smaller exponent as well. There is an open PR (#13844) to add half-precision floats to RNTuple and for completeness it might be nice to properly make this a ROOT basic type.
Right now, there is no way to 'properly' represent this type, considering that half-precision floats will only become part of the standard library from C++23). There is the _Float16 type, but compatibility is compiler and architecture-specific. An option would be to represent the type as an unsigned short.
This issue is meant as way to discuss and decide how if and how this type can best be added.
ROOT version
master
Installation method
build from source
Operating system
all
Additional context
No response
Metadata
Metadata
Assignees
Type
Projects
Status