-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Fast conversion between double precision floating point and text
--   
--   A library that performs fast, accurate conversion between double
--   precision floating point and text.
--   
--   This library is implemented as bindings to the C++
--   <tt>double-conversion</tt> library written by Florian Loitsch at
--   Google: <a>https://github.com/floitsch/double-conversion</a>.
--   
--   The <a>Text</a> versions of these functions are about 30 times faster
--   than the default <a>show</a> implementation for the <a>Double</a>
--   type.
--   
--   The <a>ByteString</a> versions are <i>slower</i> than the <a>Text</a>
--   versions; roughly half the speed. (This seems to be due to the cost of
--   allocating <a>ByteString</a> values via <tt>malloc</tt>.)
--   
--   As a final note, be aware that the <tt>bytestring-show</tt> package is
--   about 50% slower than simply using <a>show</a>.
@package double-conversion
@version 2.0.2.0


-- | Fast, efficient support for converting between double precision
--   floating point values and text.
--   
--   Although about 15 times faster than plain <a>show</a>, these functions
--   are <i>slower</i> than their <tt>Text</tt> counterparts, at roughly
--   half the speed. (This seems to be due to the cost of allocating
--   <a>ByteString</a> values via <tt>malloc</tt>.)
module Data.Double.Conversion.ByteString

-- | Compute a representation in exponential format with the requested
--   number of digits after the decimal point. The last emitted digit is
--   rounded. If -1 digits are requested, then the shortest exponential
--   representation is computed.
toExponential :: Int -> Double -> ByteString

-- | Compute a decimal representation with a fixed number of digits after
--   the decimal point. The last emitted digit is rounded.
toFixed :: Int -> Double -> ByteString

-- | Compute <tt>precision</tt> leading digits of the given value either in
--   exponential or decimal format. The last computed digit is rounded.
toPrecision :: Int -> Double -> ByteString

-- | Compute the shortest string of digits that correctly represent the
--   input number.
toShortest :: Double -> ByteString


-- | Fast, efficient support for converting between double precision
--   floating point values and text.
--   
--   These functions are about 30 times faster than the default <a>show</a>
--   implementation for the <a>Double</a> type.
module Data.Double.Conversion.Text

-- | Compute a representation in exponential format with the requested
--   number of digits after the decimal point. The last emitted digit is
--   rounded. If -1 digits are requested, then the shortest exponential
--   representation is computed.
toExponential :: Int -> Double -> Text

-- | Compute a decimal representation with a fixed number of digits after
--   the decimal point. The last emitted digit is rounded.
toFixed :: Int -> Double -> Text

-- | Compute <tt>precision</tt> leading digits of the given value either in
--   exponential or decimal format. The last computed digit is rounded.
toPrecision :: Int -> Double -> Text

-- | Compute the shortest string of digits that correctly represent the
--   input number.
toShortest :: Double -> Text
