-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Hedgehog Generators for clash-prelude
--
-- Hedgehog Generators for clash-prelude
@package clash-prelude-hedgehog
@version 1.9.0
module Clash.Hedgehog.Annotations.SynthesisAttributes
genAttr :: forall m. MonadGen m => Range Int -> m (Attr String)
-- | Random generation of types from Clash.Signal.Internal.
module Clash.Hedgehog.Signal
genSignal :: forall a dom m. MonadGen m => m a -> m (Signal dom a)
genActiveEdge :: forall m. MonadGen m => m ActiveEdge
genInitBehavior :: forall m. MonadGen m => m InitBehavior
genResetKind :: forall m. MonadGen m => m ResetKind
genResetPolarity :: forall m. MonadGen m => m ResetPolarity
-- | Random generation of Index.
module Clash.Hedgehog.Sized.Index
genIndex :: forall n m. (MonadGen m, KnownNat n) => Range (Index n) -> m (Index n)
data SomeIndex atLeast
[SomeIndex] :: SNat n -> Index (atLeast + n) -> SomeIndex atLeast
genSomeIndex :: forall atLeast m. (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeIndex atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Index.SomeIndex atLeast)
-- | Random generation of RTree.
module Clash.Hedgehog.Sized.RTree
genRTree :: forall n a m. (MonadGen m, KnownNat n) => m a -> m (RTree n a)
genNonEmptyRTree :: forall n a m. (MonadGen m, KnownNat n, 1 <= n) => m a -> m (RTree n a)
data SomeRTree atLeast a
[SomeRTree] :: SNat n -> RTree (atLeast + n) a -> SomeRTree atLeast a
genSomeRTree :: forall atLeast a m. (MonadGen m, KnownNat atLeast) => Range Natural -> m a -> m (SomeRTree atLeast a)
instance (GHC.TypeNats.KnownNat atLeast, GHC.Show.Show a) => GHC.Show.Show (Clash.Hedgehog.Sized.RTree.SomeRTree atLeast a)
-- | Random generation of Signed numbers.
module Clash.Hedgehog.Sized.Signed
genSigned :: forall n m. (MonadGen m, KnownNat n) => Range (Signed n) -> m (Signed n)
data SomeSigned atLeast
[SomeSigned] :: SNat n -> Signed (atLeast + n) -> SomeSigned atLeast
genSomeSigned :: forall atLeast m. (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeSigned atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Signed.SomeSigned atLeast)
-- | Random generation of Unsigned numbers.
module Clash.Hedgehog.Sized.Unsigned
genUnsigned :: forall n m. (MonadGen m, KnownNat n) => Range (Unsigned n) -> m (Unsigned n)
data SomeUnsigned atLeast
[SomeUnsigned] :: SNat n -> Unsigned (atLeast + n) -> SomeUnsigned atLeast
genSomeUnsigned :: forall atLeast m. (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeUnsigned atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Unsigned.SomeUnsigned atLeast)
-- | Random generation of BitVector.
module Clash.Hedgehog.Sized.BitVector
-- | Generate a bit which is guaranteed to be defined. This will either
-- have the value low or high.
genDefinedBit :: MonadGen m => m Bit
-- | Generate a bit which is not guaranteed to be defined. This will either
-- have the value low or high, or throw an
-- XException.
genBit :: MonadGen m => m Bit
-- | Generate a bit vector where all bits are defined.
genDefinedBitVector :: forall n m. (MonadGen m, KnownNat n) => m (BitVector n)
-- | Generate a bit vector where some bits may be undefined.
genBitVector :: forall n m. (MonadGen m, KnownNat n) => m (BitVector n)
data SomeBitVector atLeast
[SomeBitVector] :: SNat n -> BitVector (atLeast + n) -> SomeBitVector atLeast
genSomeBitVector :: forall atLeast m. (MonadGen m, KnownNat atLeast) => Range Natural -> (forall n. KnownNat n => m (BitVector n)) -> m (SomeBitVector atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.BitVector.SomeBitVector atLeast)
-- | Random generation of vectors.
module Clash.Hedgehog.Sized.Vector
-- | Generate a potentially empty vector, where each element is produced
-- using the supplied generator. For a non-empty vector, see
-- genNonEmptyVec.
genVec :: forall n a m. (MonadGen m, KnownNat n) => m a -> m (Vec n a)
-- | Generate a non-empty vector, where each element is produced using the
-- supplied generator. For a potentially empty vector, see genVec.
genNonEmptyVec :: forall n a m. (MonadGen m, KnownNat n, 1 <= n) => m a -> m (Vec n a)
data SomeVec atLeast a
[SomeVec] :: SNat n -> Vec (atLeast + n) a -> SomeVec atLeast a
genSomeVec :: forall atLeast a m. (MonadGen m, KnownNat atLeast) => Range Natural -> m a -> m (SomeVec atLeast a)
instance (GHC.TypeNats.KnownNat atLeast, GHC.Show.Show a) => GHC.Show.Show (Clash.Hedgehog.Sized.Vector.SomeVec atLeast a)