Open
Description
generally
- hexfloat is not supported
- in the implementations, exceptions are used for flow control -> this procedure is/(has never been) sensible
Suggestions
a) via quadmath_snprintf/strtoflt128
- for gcc the operators can be updated
- this may also be possible for intel
- reasonably current intel compilers also seem to provide quadmath_snprintf/strtoflt128. Is that correct? Then you can use these functions.
- What relevance does __float128/_Quad still have for intel? This could then be removed if necessary.
b) via std/boost to_chars/from_chars
- std
- If std::float128_t is available, these functions can be used
- Possibly these functions are still implemented in gcc for __float128 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113260
- boost
With boost 1.85 there is boost::charconv, but the functions are incompatible with the standard https://www.boost.org/doc/libs/1_85_0_beta1/libs/charconv/doc/html/charconv.html#to_chars_usage_notes_for_to_chars_for_floating_point_types
Matt unfortunately refuses to implement them in a compatible way :-(
So the NaN cases would have to be handled manually.
regards
Gero
Metadata
Metadata
Assignees
Labels
No labels