packages feed

poker-0.1.0.0: poker.cabal

cabal-version: 2.4

name:           poker
version:        0.1.0.0
synopsis:       Texas holdem hand evaluation and simulation.
category:       Game,Poker,Simulation
description:    Please see the README on GitHub at <https://github.com/ghais/poker#readme>
homepage:       https://github.com/ghais/poker#readme
bug-reports:    https://github.com/ghais/poker/issues
author:         Ghais
maintainer:     0x47@0x49.dev
copyright:      2021 Ghais
license:        MIT
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
    test/data/evaluate_holdem.csv

source-repository head
  type: git
  location: https://github.com/ghais/poker

common common-options
  build-depends:       base >= 4.11.0 && < 5
  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -O2
  if impl(ghc >= 8.0)
    ghc-options:       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies

  default-language:    Haskell2010
  default-extensions:  ConstraintKinds
                       DeriveGeneric
                       DerivingStrategies
                       FlexibleInstances
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       MultiParamTypeClasses
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneDeriving
                       TupleSections
                       TypeApplications
                       ViewPatterns
                       FlexibleInstances
                       FlexibleContexts

library
  import:  common-options
  exposed-modules:
      Poker.Deck
      Poker.Holdem
      Poker.Holdem.Evaluate
      Poker.Holdem.Simulate
      Poker.Holdem.Table.DP
      Poker.Holdem.Table.Flush
      Poker.Holdem.Table.NoFlush
      Poker.Holdem.Table.Suit
  other-modules:
      Paths_poker      
  autogen-modules:
      Paths_poker
  hs-source-dirs:
      src
  build-depends:
                  binary >=0.8
                , array >= 0.5
                , mtl >=2.2
                , random-fu >=0.2.7
                , random-source >=0.3
                , rvar >=0.2
                , vector >=0.12
  default-language: Haskell2010

executable poker-exe
  import:  common-options
  main-is: Main.hs
  other-modules:
      Paths_poker
  autogen-modules:
      Paths_poker
  hs-source-dirs:
      app  
  build-depends:
                  poker
                , random-fu >=0.2.7
  default-language: Haskell2010
  ghc-options:
              -threaded
              -rtsopts
              -with-rtsopts=-N

common test-deps
  build-depends:
      hspec ^>= 2.7
    , poker
  
test-suite evaluate-test
  import: common-options, test-deps
  type: exitcode-stdio-1.0
  main-is: EvaluateSpec.hs
  other-modules:
      Paths_poker
  autogen-modules:
      Paths_poker
  hs-source-dirs:
      test/evaluate
  default-language: Haskell2010
  ghc-options:
              -threaded
              -rtsopts
              -with-rtsopts=-N
  build-depends:
             split >= 0.2.3.4




benchmark evaluate-benchmark
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmark/evaluate
  main-is:             Main.hs
  build-depends:       gauge >= 0.2.5
                     , poker
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N
                       -O2

benchmark evaluate-simulate
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmark/simulate
  main-is:             Main.hs
  build-depends:       gauge >= 0.2.5
                     , poker
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N