-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Read and write hexadecimal floating point numbers -- -- Read and write hexadecimal floating point numbers. Provides a -- quasiquoter for entering hex-float literals, and a function for -- printing them in hexadecimal. -- -- See: http://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. -- -- For details, please see: -- http://github.com/LeventErkok/FloatingHex/ @package FloatingHex @version 0.2 -- | Reading/Writing hexadecimal floating-point numbers. -- -- See: http://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. module Data.Numbers.FloatingHex -- | A quasiquoter for hexadecimal floating-point literals. See: -- http://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: -- --
-- {-# LANGUAGE QuasiQuotes #-}
-- import Data.Numbers.FloatingHex
--
-- f :: Double
-- f = [hf|0x1.f44abd5aa7ca4p+25|]
--
--
-- With these definitions, f will be equal to the number
-- 6.5574266708245546e7
hf :: QuasiQuoter
-- | Read a float in hexadecimal binary format. Supports negative numbers,
-- and nan/infinity as well. For regular usage, the quasiquoter
-- (hf) should be employed. But this function can be handy for
-- programmatic interfaces.
readHFloat :: RealFloat a => String -> Maybe a
-- | Show 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" --showHFloat :: RealFloat a => a -> ShowS