packages feed

hw-packed-vector-0.0.0.2: test/HaskellWorks/Gen.hs

module HaskellWorks.Gen where

import Data.Word
import HaskellWorks.Data.Bits.BitWise
import HaskellWorks.Data.Positioning
import Hedgehog

import qualified Hedgehog.Gen   as G
import qualified Hedgehog.Range as R

subWordSize :: MonadGen m => Count -> m Count
subWordSize maxWordSize = G.word64 (R.linear 1 maxWordSize)

word8OfSize :: MonadGen m => Count -> m Word8
word8OfSize sz = G.word8 (R.linear 0 (1 .<. fromIntegral sz - 1))

word64OfSize :: MonadGen m => Count -> m Word64
word64OfSize sz = G.word64 (R.linear 0 (1 .<. fromIntegral sz - 1))