Take the 2-minute tour ×  I'm trying to printf a __float128
using libquadmath, eg:  quadmath_snprintf(s, sizeof(s),
"%.30Qg", f);  With the following three constaints:    1. The
output must match the following production:       number = [
minus ] int [ frac ] [ exp ]      decimal-point = %x2E       ; .
digit1-9 = %x31-39         ; 1-9      e = %x65 / %x45
; e E      exp = e [ minus / plus ] 1*DIGIT      frac = decimal-
point 1*DIGIT      int = zero / ( digit1-9 *DIGIT )      minus =
%x2D               ; -      plus = %x2B                ; +
zero = %x30                ; 0   2. Given any input __float128
"i" that has been printfed to a string matching the above
production "s" and and then "s" is scanfed back into a
__float128 "j" - "i" must be bitwise identical to "j" - ie no
information should be lost. For at least some values this is not
possible (NaN, Infinity), what is the complete list of those
values?    3. There should be no other string satisfying the
above two criteria, that is shor