double-conversion / double-conversion.cabal

name:           double-conversion
version:        0.2.0.3
license:        BSD3
license-file:   LICENSE
homepage:       https://github.com/bos/double-conversion
bug-reports:    https://github.com/bos/double-conversion/issues
category:       Text
author:         Bryan O'Sullivan <bos@serpentine.com>
maintainer:     Bryan O'Sullivan <bos@serpentine.com>
stability:      experimental
tested-with:    GHC == 7.0.3
synopsis:       Fast conversion between double precision floating point and text
cabal-version:  >= 1.8
build-type:     Simple
description:
    A library that performs fast, accurate conversion between double
    precision floating point and text.
    .
    This library is implemented as bindings to the C++
    @double-conversion@ library written by Florian Loitsch at Google:
    <http://code.google.com/p/double-conversion/>.
    .
    The 'Text' versions of these functions are about 30 times faster
    than the default 'show' implementation for the 'Double' type.
    .
    The 'ByteString' versions are /slower/ than the 'Text' versions;
    roughly half the speed.  (This seems to be due to the cost of
    allocating 'ByteString' values via @malloc@.)
    .
    As a final note, be aware that the @bytestring-show@ package is
    about 50% slower than simply using 'show'.

extra-source-files:
    README.markdown
    benchmarks/*.cabal
    benchmarks/*.hs
    double-conversion/COPYING
    double-conversion/LICENSE
    double-conversion/Makefile
    double-conversion/README
    double-conversion/SConstruct
    double-conversion/src/*.cc
    double-conversion/src/*.h
    double-conversion/src/SConscript
    double-conversion/test/cctest/*.cc
    double-conversion/test/cctest/*.h
    double-conversion/test/cctest/SConscript
    include/*.h
    tests/*.hs

flag developer
  description: operate in developer mode
  default: False

library
  c-sources:
    cbits/hs-double-conversion.cc
    double-conversion/src/bignum.cc
    double-conversion/src/bignum-dtoa.cc
    double-conversion/src/cached-powers.cc
    double-conversion/src/diy-fp.cc
    double-conversion/src/double-conversion.cc
    double-conversion/src/fast-dtoa.cc
    double-conversion/src/fixed-dtoa.cc
    double-conversion/src/strtod.cc

  extra-libraries: stdc++

  include-dirs:
    double-conversion/src
    include

  exposed-modules:
    Data.Double.Conversion.ByteString
    Data.Double.Conversion.Text

  other-modules:
    Data.Double.Conversion.FFI

  build-depends:
    base == 4.*,
    bytestring,
    ghc-prim,
    text >= 0.11.0.8

  if flag(developer)
    ghc-options: -Werror
    ghc-prof-options: -auto-all
  else
    cc-options: -DNDEBUG

  ghc-options: -Wall

  cpp-options: -DINTEGER_GMP

  if impl(ghc >= 6.11)
    build-depends: integer-gmp >= 0.2 && < 0.5

  if impl(ghc >= 6.9) && impl(ghc < 6.11)
    build-depends: integer >= 0.1 && < 0.2

test-suite tests
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
  main-is: Properties.hs
  ghc-options: -Wall
  build-depends:
    base,
    bytestring,
    double-conversion,
    test-framework,
    test-framework-quickcheck2,
    text

source-repository head
  type:     git
  location: https://github.com/bos/double-conversion

source-repository head
  type:     mercurial
  location: https://bitbucket.org/bos/double-conversion
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.