packages feed

pcg-random-0.1.3.7: pcg-random.cabal

name:                pcg-random
version:             0.1.3.7
synopsis:            Haskell bindings to the PCG random number generator.
description:
  PCG is a family of simple fast space-efficient statistically good
  algorithms for random number generation. Unlike many general-purpose
  RNGs, they are also hard to predict.
  .
  This library implements bindings to the standard C implementation.
  This includes the standard, unique, fast and single variants in the
  pcg family. There is a pure implementation that can be used as a
  generator with the random package as well as a faster primitive api
  that includes functions for generating common types.
  .
  The generators in this module are suitable for use in parallel but
  make sure threads don't share the same generator or things will go
  horribly wrong.

license:             BSD3
license-file:        LICENSE
extra-source-files:  README.md CHANGELOG.md c/LICENSE.txt
author:              Christopher Chalmers
maintainer:          c.chalmers@me.com
Homepage:            http://github.com/cchalmers/pcg-random
Bug-reports:         http://github.com/cchalmers/pcg-random/issues
copyright:           (c) 2014-2015. Christopher Chalmers <c.chalmers@me.com>
category:            System
build-type:          Custom
cabal-version:       >=1.10

custom-setup
 setup-depends:
   base >= 4 && <5,
   Cabal,
   cabal-doctest >= 1 && <1.1

source-repository head
  type:     git
  location: git://github.com/cchalmers/pcg-random.git

library
  exposed-modules:
    System.Random.PCG
    System.Random.PCG.Pure
    System.Random.PCG.Class
    System.Random.PCG.Fast
    System.Random.PCG.Fast.Pure
    System.Random.PCG.Unique
    System.Random.PCG.Single
  hs-source-dirs:      src
  ghc-options:         -Wall
  other-extensions:    BangPatterns, CPP, ForeignFunctionInterface
  build-depends:
    base        >=4.3 && < 5,
    primitive   >=0.4 && < 0.8,
    random      >=1.0 && < 2.0,
    bytestring,
    entropy
  default-language:    Haskell2010
  cc-options:
    -DMEXP=19937
    -DNDEBUG
    -finline-functions -fomit-frame-pointer
    -fno-strict-aliasing
    -std=c99 -fPIC

  c-sources:
    c/pcg-advance-128.c
    c/pcg-advance-64.c
    c/pcg-global-64.c
    c/pcg-output-64.c
    c/pcg-rngs-64.c
  include-dirs:     c
  includes:         pcg_variants.h
  install-includes: pcg_variants.h

test-suite doctests
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          doctest.hs
  hs-source-dirs:   test
  build-depends:
    base,
    doctest,
    pcg-random