Data.Random.Distribution.Uniform
- 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)
- 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
- realStdUniformCDF :: Real a => a -> Double
- realUniformCDF :: RealFrac a => a -> a -> a -> Double
Documentation
A definition of a uniform distribution over the type t
. See also uniform
.
Constructors
Uniform !t !t | A uniform distribution defined by a lower and upper range bound.
For |
Instances
uniform :: Distribution Uniform a => a -> a -> RVar aSource
uniformT :: Distribution Uniform a => a -> a -> RVarT m aSource
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).
Constructors
StdUniform |
Instances
stdUniform :: Distribution StdUniform a => RVar aSource
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 aSource
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 aSource
Like stdUniform
but only returns positive values.
stdUniformPosT :: (Distribution StdUniform a, Num a, Eq a) => RVarT m aSource
Like stdUniform
but only returns positive values.
integralUniform :: Integral a => a -> a -> RVarT m aSource
Compute a random Integral
value between the 2 values provided (inclusive).
realFloatUniform :: RealFloat a => a -> a -> RVarT m aSource
realFloatUniform a b
computes a uniform random value in the range [a,b) for
any RealFloat
type
floatUniform :: Float -> Float -> RVarT m FloatSource
floatUniform a b
computes a uniform random Float
value in the range [a,b)
doubleUniform :: Double -> Double -> RVarT m DoubleSource
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.
boundedStdUniform :: (Distribution Uniform a, Bounded a) => RVar aSource
boundedEnumStdUniform :: (Enum a, Bounded a) => RVarT m aSource
realFloatStdUniform :: RealFloat a => RVarT m aSource
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 FloatSource
Compute a uniform random Float
value in the range [0,1)
doubleStdUniform :: RVarT m DoubleSource
Compute a uniform random Double
value in the range [0,1)
realStdUniformCDF :: Real a => a -> DoubleSource
The CDF of the random variable realFloatStdUniform
.
realUniformCDF :: RealFrac a => a -> a -> a -> DoubleSource
realUniformCDF a b
is the CDF of the random variable realFloatUniform a b
.