| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Game.LambdaHack.Core.Frequency
Description
A list of entities with relative frequencies of appearance.
The Frequency type
The frequency distribution type. Not normalized (operations may or may not group the same elements and sum their frequencies). However, elements with less than zero frequency are removed upon construction.
The Eq instance compares raw representations, not relative,
normalized frequencies, so operations don't need to preserve
the expected equalities.
Instances
| Alternative Frequency Source # | |||||
| Applicative Frequency Source # | |||||
Defined in Game.LambdaHack.Core.Frequency | |||||
| Functor Frequency Source # | |||||
| Monad Frequency Source # | |||||
| MonadPlus Frequency Source # | |||||
| Foldable Frequency Source # | |||||
Defined in Game.LambdaHack.Core.Frequency Methods fold :: Monoid m => Frequency m -> m # foldMap :: Monoid m => (a -> m) -> Frequency a -> m # foldMap' :: Monoid m => (a -> m) -> Frequency a -> m # foldr :: (a -> b -> b) -> b -> Frequency a -> b # foldr' :: (a -> b -> b) -> b -> Frequency a -> b # foldl :: (b -> a -> b) -> b -> Frequency a -> b # foldl' :: (b -> a -> b) -> b -> Frequency a -> b # foldr1 :: (a -> a -> a) -> Frequency a -> a # foldl1 :: (a -> a -> a) -> Frequency a -> a # toList :: Frequency a -> [a] # length :: Frequency a -> Int # elem :: Eq a => a -> Frequency a -> Bool # maximum :: Ord a => Frequency a -> a # minimum :: Ord a => Frequency a -> a # | |||||
| Traversable Frequency Source # | |||||
Defined in Game.LambdaHack.Core.Frequency | |||||
| Generic (Frequency a) Source # | |||||
Defined in Game.LambdaHack.Core.Frequency Associated Types
| |||||
| Show a => Show (Frequency a) Source # | |||||
| Eq a => Eq (Frequency a) Source # | |||||
| Ord a => Ord (Frequency a) Source # | |||||
Defined in Game.LambdaHack.Core.Frequency | |||||
| type Rep (Frequency a) Source # | |||||
Defined in Game.LambdaHack.Core.Frequency type Rep (Frequency a) = D1 ('MetaData "Frequency" "Game.LambdaHack.Core.Frequency" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "Frequency" 'PrefixI 'True) (S1 ('MetaSel ('Just "runFrequency") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Int, a)]) :*: S1 ('MetaSel ('Just "nameFrequency") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))) | |||||
Construction
uniformFreq :: Text -> [a] -> Frequency a Source #
Uniform discrete frequency distribution.
toFreq :: Text -> [(Int, a)] -> Frequency a Source #
Takes a name and a list of frequencies and items into the frequency distribution.
maxBoundInt32 :: Int Source #
Transformation
scaleFreq :: Show a => Int -> Frequency a -> Frequency a Source #
Scale frequency distribution, multiplying it by a positive integer constant.
Consumption
runFrequency :: Frequency a -> [(Int, a)] Source #
give acces to raw frequency values
nameFrequency :: Frequency a -> Text Source #
short description for debug, etc.