úÎ¥((c) Levent ErkokBSD3erkokl@gmail.com experimentalNone/Due to intricacies of conversion between floatdoubles (see <https:ghc.haskell.orgtracghcKticket/3676>), we explicitly introduce a class to do the reading properly.0Convert a hex-float to a Real-Float, if possible…Read a float in hexadecimal binary format. Supports negative numbers, and nan/infinity as well. For regular usage, the quasiquoter (R) should be employed. But this function can be handy for programmatic interfaces.\Turn a hexadecimal float to an internal double, if parseable. Does not support the leading Ž bit, although it does allow a leading +. (The former is best done out of the quasiquote, since TH does not cannot represent negative 0! See  -https://ghc.haskell.org/trac/ghc/ticket/13124 for why we avoid this here.)=A quasiquoter for hexadecimal floating-point literals. See:  9http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf›, pages 57-58. We slightly diverge from the standard and do not allow for the "floating-suffix," as the type inference of Haskell makes this unnecessary.Example: i{-# LANGUAGE QuasiQuotes #-} import Data.Numbers.FloatingHex f :: Double f = [hf|0x1.f44abd5aa7ca4p+25|]With these definitions, f will be equal to the number 6.5574266708245546e7FShow a floating-point value in the hexadecimal format, similar to the %a modifier in C's printf. showHFloat (212.21 :: Double) """0x1.a86b851eb851fp7"showHFloat (-12.76 :: Float) """-0x1.9851ecp3"showHFloat (-0 :: Double) "" "-0x0p+0"The Double instanceThe Float instance  &FloatingHex-0.3-IrgN7d9FNXDLGjqcVTJAn5Data.Numbers.FloatingHex readHFloathf showHFloat$fFloatingHexReaderDouble$fFloatingHexReaderFloatFloatingHexReaderreadHFloatAsDouble parseHexFloatbaseGHC.Num-