packages feed

wide-word-0.1.9.0: wide-word.cabal

-- Initial wide-word.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                wide-word
version:             0.1.9.0
synopsis:            Data types for large but fixed width signed and unsigned integers
description:
  A library to provide data types for large (ie > 64 bits) but fixed width signed
  and unsigned integers with the usual typeclass instances to allow them to be used
  interchangeably with `Word64`.
  .
  The types and operations are coded to be as fast as possible using strictness
  annotations, `INLINEABLE` pragmas and unboxed values and operations where
  appropriate.
homepage:            https://github.com/erikd/wide-word
bug-reports:         https://github.com/erikd/wide-word/issues/
license:             BSD2
license-file:        LICENSE
author:              Erik de Castro Lopo
maintainer:          erikd@mega-nerd.com
copyright:           Copyright (c) 2017 Erik de Castro Lopo <erikd@mega-nerd.com>
category:            Data
build-type:          Simple
extra-source-files:  ChangeLog.md
stability:           provisional
cabal-version:       >= 1.10
tested-with:         GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2,
                     GHC == 9.2.4, GHC == 9.4.7, GHC == 9.6.7, GHC == 9.8.4, GHC == 9.10.2,
                     GHC == 9.12.2

library
  default-language:   Haskell2010
  ghc-options:        -Wall -fwarn-tabs
  hs-source-dirs:     src
  other-extensions:   StrictData

  exposed-modules:     Data.WideWord
                       Data.WideWord.Int128
                       Data.WideWord.Int256
                       Data.WideWord.Word64
                       Data.WideWord.Word128
                       Data.WideWord.Word256

  other-modules:       Data.WideWord.Compat

  build-depends:       base                          >= 4.9         && < 4.23
                     , binary                        >= 0.8.3.0     && < 0.9
                     , deepseq                       >= 1.4.2.0     && < 1.6
                     , primitive                     >= 0.6.4.0     && < 0.10
                     , hashable                      >= 1.2         && < 1.6

test-suite test256
  default-language:   Haskell2010
  ghc-options:        -Wall -fwarn-tabs -threaded -O2
  type:               exitcode-stdio-1.0

  main-is:            test256.hs
  hs-source-dirs:     test

  other-modules:      Test.Data.WideWord.Gen
                      Test.Data.WideWord.Word256
                      Test.Data.WideWord.Int256

  build-depends:       base
                     , binary
                     , hedgehog
                     , primitive
                     , wide-word

test-suite test128
  default-language:   Haskell2010
  ghc-options:        -Wall -fwarn-tabs -threaded -O2
  type:               exitcode-stdio-1.0

  main-is:            test128.hs
  hs-source-dirs:     test

  other-modules:      Test.Data.WideWord.Gen
                      Test.Data.WideWord.Int128
                      Test.Data.WideWord.Word128

  build-depends:       base
                     , binary
                     , hedgehog
                     , primitive
                     , wide-word

test-suite test64
  default-language:   Haskell2010
  ghc-options:        -Wall -fwarn-tabs -threaded -O2
  type:               exitcode-stdio-1.0

  main-is:            test64.hs
  hs-source-dirs:     test

  other-modules:      Test.Data.WideWord.Gen
                      Test.Data.WideWord.Word64

  build-depends:       base
                     , binary
                     , hedgehog                      >= 1.0 && < 1.8
                     , primitive
                     , wide-word

test-suite laws
  default-language:  Haskell2010
  ghc-options:       -Wall
  type:              exitcode-stdio-1.0

  main-is:           laws.hs
  hs-source-dirs:    test

  build-depends:       base
                     , QuickCheck                    >= 2.9.2       && < 2.18
                     , quickcheck-classes            >= 0.6.3       && < 0.7.0
                     , primitive
                     , semirings                     >= 0.2         && < 0.8
                     , wide-word