On 2014-06-02 21:20:57 +0000, Joseph S. Myers wrote: > ([...] Conversion from __float128 to __ibm128 would presumably be > done in the usual way of converting to double, and, if the result is > finite, subtracting the double from the __float128 value, converting > the remainder, and renormalizing in case the low part you get that > way is exactly 0.5ulp of the high part and the high part has its low > bit set.)
This is not as simple, depending on how you decide to handle the largest values. This is important if FP-model related data are provided, such as LDBL_MANT_DIG (the precision) and LDBL_MAX_EXP (the maximum exponent). The __ibm128 implementation as long double is currently buggy / inconsistent, and I've reported the following bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61399 -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)