Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Uniform t = Uniform !t !t
- uniform :: Distribution Uniform a => a -> a -> RVar a
- uniformT :: Distribution Uniform a => a -> a -> RVarT m a
- data StdUniform t = StdUniform
- stdUniform :: Distribution StdUniform a => RVar a
- stdUniformT :: Distribution StdUniform a => RVarT m a
- stdUniformPos :: (Distribution StdUniform a, Num a, Eq a) => RVar a
- stdUniformPosT :: (Distribution StdUniform a, Num a, Eq a) => RVarT m a
- integralUniform :: Integral a => a -> a -> RVarT m a
- realFloatUniform :: RealFloat a => a -> a -> RVarT m a
- floatUniform :: Float -> Float -> RVarT m Float
- doubleUniform :: Double -> Double -> RVarT m Double
- fixedUniform :: HasResolution r => Fixed r -> Fixed r -> RVarT m (Fixed r)
- enumUniform :: Enum a => a -> a -> RVarT m a
- boundedStdUniform :: (Distribution Uniform a, Bounded a) => RVar a
- boundedEnumStdUniform :: (Enum a, Bounded a) => RVarT m a
- realFloatStdUniform :: RealFloat a => RVarT m a
- fixedStdUniform :: HasResolution r => RVarT m (Fixed r)
- floatStdUniform :: RVarT m Float
- doubleStdUniform :: RVarT m Double
- boundedStdUniformCDF :: (CDF Uniform a, Bounded a) => a -> Double
- realStdUniformCDF :: Real a => a -> Double
- realUniformCDF :: RealFrac a => a -> a -> a -> Double
- enumUniformCDF :: (Enum a, Ord a) => a -> a -> a -> Double
Documentation
A definition of a uniform distribution over the type t
. See also uniform
.
Uniform !t !t | A uniform distribution defined by a lower and upper range bound.
For |
uniform :: Distribution Uniform a => a -> a -> RVar a Source
uniformT :: Distribution Uniform a => a -> a -> RVarT m a Source
data StdUniform t Source
A name for the "standard" uniform distribution over the type t
,
if one exists. See also stdUniform
.
For Integral
and Enum
types that are also Bounded
, this is
the uniform distribution over the full range of the type.
For un-Bounded
Integral
types this is not defined.
For Fractional
types this is a random variable in the range [0,1)
(that is, 0 to 1 including 0 but not including 1).
stdUniform :: Distribution StdUniform a => RVar a Source
Get a "standard" uniformly distributed variable.
For integral types, this means uniformly distributed over the full range
of the type (there is no support for Integer
). For fractional
types, this means uniformly distributed on the interval [0,1).
stdUniformT :: Distribution StdUniform a => RVarT m a Source
Get a "standard" uniformly distributed process.
For integral types, this means uniformly distributed over the full range
of the type (there is no support for Integer
). For fractional
types, this means uniformly distributed on the interval [0,1).
stdUniformPos :: (Distribution StdUniform a, Num a, Eq a) => RVar a Source
Like stdUniform
but only returns positive values.
stdUniformPosT :: (Distribution StdUniform a, Num a, Eq a) => RVarT m a Source
Like stdUniform
but only returns positive values.
integralUniform :: Integral a => a -> a -> RVarT m a Source
Compute a random Integral
value between the 2 values provided (inclusive).
realFloatUniform :: RealFloat a => a -> a -> RVarT m a Source
realFloatUniform a b
computes a uniform random value in the range [a,b) for
any RealFloat
type
floatUniform :: Float -> Float -> RVarT m Float Source
floatUniform a b
computes a uniform random Float
value in the range [a,b)
doubleUniform :: Double -> Double -> RVarT m Double Source
doubleUniform a b
computes a uniform random Double
value in the range [a,b)
fixedUniform :: HasResolution r => Fixed r -> Fixed r -> RVarT m (Fixed r) Source
fixedUniform a b
computes a uniform random Fixed
value in the range
[a,b), with any desired precision.
enumUniform :: Enum a => a -> a -> RVarT m a Source
realFloatUniform a b
computes a uniform random value in the range [a,b) for
any Enum
type
boundedStdUniform :: (Distribution Uniform a, Bounded a) => RVar a Source
boundedEnumStdUniform :: (Enum a, Bounded a) => RVarT m a Source
realFloatStdUniform :: RealFloat a => RVarT m a Source
Compute a uniform random value in the range [0,1) for any RealFloat
type
fixedStdUniform :: HasResolution r => RVarT m (Fixed r) Source
Compute a uniform random Fixed
value in the range [0,1), with any
desired precision.
floatStdUniform :: RVarT m Float Source
Compute a uniform random Float
value in the range [0,1)
doubleStdUniform :: RVarT m Double Source
Compute a uniform random Double
value in the range [0,1)
realStdUniformCDF :: Real a => a -> Double Source
The CDF of the random variable realFloatStdUniform
.
realUniformCDF :: RealFrac a => a -> a -> a -> Double Source
realUniformCDF a b
is the CDF of the random variable realFloatUniform a b
.
enumUniformCDF :: (Enum a, Ord a) => a -> a -> a -> Double Source