hw-simd-0.1.0.2: hw-simd.cabal
-- This file has been generated from package.yaml by hpack version 0.18.1.
--
-- see: https://github.com/sol/hpack
name: hw-simd
version: 0.1.0.2
synopsis: SIMD library
description: Please see the README on Github at <https://github.com/haskell-works/hw-simd#readme>
category: Data, Bit, SIMD
homepage: https://github.com/haskell-works/hw-simd#readme
bug-reports: https://github.com/haskell-works/hw-simd/issues
author: John Ky
maintainer: newhoggy@gmail.com
copyright: 2018 John Ky
license: BSD3
license-file: LICENSE
tested-with: GHC == 8.4.3, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
cbits/simd.h
cbits/simd_debug.h
ChangeLog.md
README.md
source-repository head
type: git
location: https://github.com/haskell-works/hw-simd
flag avx2
description: Enable avx2 instruction set
manual: False
default: False
flag bmi2
description: Enable bmi2 instruction set
manual: False
default: False
flag sse42
description: Enable SSE 4.2 optimisations.
manual: False
default: True
library
hs-source-dirs:
src
ghc-options: -O2 -Wall
include-dirs:
cbits
c-sources:
cbits/simd_avx2.c
cbits/simd_sse2.c
build-depends:
base >= 4.7 && < 5
, bits-extra >= 0.0.1.2 && < 0.1
, bytestring >= 0.10 && < 0.11
, deepseq >= 1.4 && < 1.5
, hw-bits >= 0.7.0.2 && < 0.8
, hw-rankselect >= 0.12.0.2 && < 0.13
, hw-rankselect-base >= 0.3.2.0 && < 0.4
, hw-prim >= 0.6.2.0 && < 0.7
, vector >= 0.12.0.1 && < 0.13
build-tools:
c2hs
if flag(sse42)
ghc-options: -msse4.2
cc-options: -msse4.2
if flag(bmi2)
cc-options: -mbmi2 -DBMI2_ENABLED
if (flag(bmi2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
if flag(avx2)
cc-options: -mavx2 -DAVX2_ENABLED
if (flag(avx2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
cpp-options: -DBMI2_ENABLED -DAVX2_ENABLED
if (impl(ghc >=8.0.1))
ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
if (!impl(ghc >=8.0.1))
build-depends:
transformers >= 0.4 && < 0.6
, semigroups >= 0.8.4 && < 0.19
exposed-modules:
HaskellWorks.Data.Simd.Capabilities
HaskellWorks.Data.Simd.Comparison
HaskellWorks.Data.Simd.Comparison.Avx2
HaskellWorks.Data.Simd.Comparison.Stock
HaskellWorks.Data.Simd.Internal.Bits
HaskellWorks.Data.Simd.Internal.Broadword
HaskellWorks.Data.Simd.Internal.ByteString
HaskellWorks.Data.Simd.Internal.ByteString.Lazy
HaskellWorks.Data.Simd.Internal.Foreign
HaskellWorks.Data.Simd.Internal.Marshal
HaskellWorks.Data.Simd.Logical
HaskellWorks.Data.Simd.Logical.Avx2
HaskellWorks.Data.Simd.Logical.Stock
other-modules:
Paths_hw_simd
default-language: Haskell2010
test-suite hw-simd-test
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs:
test
ghc-options: -O2 -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends:
base >= 4.7 && < 5
, bits-extra >= 0.0.1.2 && < 0.1
, bytestring >= 0.10 && < 0.11
, deepseq >= 1.4 && < 1.5
, hw-bits >= 0.7.0.2 && < 0.8
, hw-rankselect >= 0.12.0.2 && < 0.13
, hw-rankselect-base >= 0.3.2.0 && < 0.4
, hw-prim >= 0.6.2.0 && < 0.7
, vector >= 0.12.0.1 && < 0.13
, directory >= 1.2.2 && < 1.4
, lens
, hw-simd
, hedgehog >= 0.5 && < 0.7
, hspec >= 2.4 && < 3
, hw-hspec-hedgehog >= 0.1.0.4 && < 0.2
, hw-hedgehog >= 0.1.0.1 && < 0.2
, text >= 1.2.2 && < 2.0
if flag(sse42)
ghc-options: -msse4.2
cc-options: -msse4.2
if flag(bmi2)
cc-options: -mbmi2 -DBMI2_ENABLED
if (flag(bmi2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
if flag(avx2)
cc-options: -mavx2 -DAVX2_ENABLED
if (flag(avx2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
cpp-options: -DBMI2_ENABLED -DAVX2_ENABLED
if (impl(ghc >=8.0.1))
ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
if (!impl(ghc >=8.0.1))
build-depends:
transformers >= 0.4 && < 0.6
, semigroups >= 0.8.4 && < 0.19
other-modules:
HaskellWorks.Data.Simd.ComparisonSpec
HaskellWorks.Data.Simd.Internal.BroadwordSpec
HaskellWorks.Data.Simd.LogicalSpec
default-language: Haskell2010
benchmark bench
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
bench
ghc-options: -O2 -Wall -msse4.2
build-depends:
base >= 4.7 && < 5
, bits-extra >= 0.0.1.2 && < 0.1
, bytestring >= 0.10 && < 0.11
, deepseq >= 1.4 && < 1.5
, hw-bits >= 0.7.0.2 && < 0.8
, hw-rankselect >= 0.12.0.2 && < 0.13
, hw-rankselect-base >= 0.3.2.0 && < 0.4
, hw-prim >= 0.6.2.0 && < 0.7
, vector >= 0.12.0.1 && < 0.13
, cassava >= 0.5.1.0 && < 0.6
, containers
, criterion >= 1.4.1.0 && < 1.6
, directory >= 1.3.1.5 && < 1.4
, hw-simd
, mmap >= 0.5.9 && < 0.6
if flag(sse42)
ghc-options: -msse4.2
cc-options: -msse4.2
if flag(bmi2)
cc-options: -mbmi2 -DBMI2_ENABLED
if (flag(bmi2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
if flag(avx2)
cc-options: -mavx2 -DAVX2_ENABLED
if (flag(avx2)) && (impl(ghc >=8.4.1))
ghc-options: -mbmi2 -msse4.2
cpp-options: -DBMI2_ENABLED -DAVX2_ENABLED
if (impl(ghc >=8.0.1))
ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
if (!impl(ghc >=8.0.1))
build-depends:
transformers >= 0.4 && < 0.6
, semigroups >= 0.8.4 && < 0.19
default-language: Haskell2010