Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Distribution
- = DistConstant
- | DistNormal (DTime, DTime)
- | DistRandom
- type Range = (Maybe DTime, Maybe DTime)
- type Length = Maybe (Either Int DTime)
- generateDeltas :: Distribution -> Range -> Length -> Gen DTime
- generateDelta :: Maybe DTime -> Maybe DTime -> Gen DTime
- generateDSNormal :: DTime -> DTime -> Maybe DTime -> Maybe DTime -> Gen DTime
- timeStampsUntil :: DTime -> Gen [DTime]
- timeStampsUntilWith :: Gen DTime -> DTime -> Gen [DTime]
- generateStream :: Arbitrary a => Distribution -> Range -> Length -> Gen (SignalSampleStream a)
- generateStreamWith :: (Int -> DTime -> Gen a) -> Distribution -> Range -> Length -> Gen (SignalSampleStream a)
- generateConstantStream :: (Int -> DTime -> Gen a) -> (DTime, Int) -> Gen (SignalSampleStream a)
- generateStreamLenDT :: (Maybe DTime, Maybe DTime) -> Maybe (Either Int DTime) -> Gen (DTime, Int)
- uniDistStream :: Arbitrary a => Gen (SignalSampleStream a)
- uniDistStreamMaxDT :: Arbitrary a => DTime -> Gen (SignalSampleStream a)
- fixedDelayStream :: Arbitrary a => DTime -> Gen (SignalSampleStream a)
- fixedDelayStreamWith :: Arbitrary a => (DTime -> a) -> DTime -> Gen (SignalSampleStream a)
- vectorOfWith :: Int -> (Int -> Gen a) -> Gen [a]
Random stream generation
Parameters used to generate random input streams
Time delta generation
generateDeltas :: Distribution -> Range -> Length -> Gen DTime Source #
Generate a random delta according to some required specifications.
generateDelta :: Maybe DTime -> Maybe DTime -> Gen DTime Source #
Generate one random delta, possibly within a range.
generateDSNormal :: DTime -> DTime -> Maybe DTime -> Maybe DTime -> Gen DTime Source #
Generate a random delta following a normal distribution, and possibly within a given range.
timeStampsUntilWith :: Gen DTime -> DTime -> Gen [DTime] Source #
Generate random samples up until a max time, with a given time delta generation function.
Random stream generation
generateStream :: Arbitrary a => Distribution -> Range -> Length -> Gen (SignalSampleStream a) Source #
Generate random stream.
generateStreamWith :: (Int -> DTime -> Gen a) -> Distribution -> Range -> Length -> Gen (SignalSampleStream a) Source #
Generate random stream, parameterized by the value generator.
generateConstantStream :: (Int -> DTime -> Gen a) -> (DTime, Int) -> Gen (SignalSampleStream a) Source #
Generate arbitrary stream with fixed length and constant delta.
generateStreamLenDT :: (Maybe DTime, Maybe DTime) -> Maybe (Either Int DTime) -> Gen (DTime, Int) Source #
Generate arbitrary stream
Helpers for common cases
uniDistStream :: Arbitrary a => Gen (SignalSampleStream a) Source #
Generate a stream of values with uniformly distributed time deltas.
uniDistStreamMaxDT :: Arbitrary a => DTime -> Gen (SignalSampleStream a) Source #
Generate a stream of values with uniformly distributed time deltas, with a max DT.
fixedDelayStream :: Arbitrary a => DTime -> Gen (SignalSampleStream a) Source #
Generate a stream of values with a fixed time delta.
fixedDelayStreamWith :: Arbitrary a => (DTime -> a) -> DTime -> Gen (SignalSampleStream a) Source #
Generate a stream of values with a fixed time delta.