| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
PropaFP.VarMap
Synopsis
- data VarType
 - type VarInterval = (String, (Rational, Rational))
 - data TypedVarInterval = TypedVar VarInterval VarType
 - type VarMap = [VarInterval]
 - type TypedVarMap = [TypedVarInterval]
 - maxWidth :: VarMap -> Rational
 - typedMaxWidth :: TypedVarMap -> Rational
 - taxicabWidth :: VarMap -> Rational
 - increaseDiameter :: VarMap -> Rational -> VarMap
 - increaseRadius :: VarMap -> Rational -> VarMap
 - fullBisect :: VarMap -> [VarMap]
 - bisectInterval :: (String, (Rational, Rational)) -> ((String, (Rational, Rational)), (String, (Rational, Rational)))
 - bisectTypedInterval :: (String, (Rational, Rational)) -> VarType -> ((String, (Rational, Rational)), (String, (Rational, Rational)))
 - bisectN :: Integer -> VarMap -> (VarMap, VarMap)
 - bisectVar :: VarMap -> String -> (VarMap, VarMap)
 - bisectTypedVar :: TypedVarMap -> String -> (TypedVarMap, TypedVarMap)
 - contains :: VarMap -> VarMap -> Bool
 - toSearchBox :: VarMap -> CN MPBall -> SearchBox
 - centre :: VarMap -> VarMap
 - varMapToBox :: VarMap -> Precision -> Box
 - typedVarMapToBox :: TypedVarMap -> Precision -> Box
 - boxToVarMap :: Box -> [String] -> VarMap
 - unsafeBoxToTypedVarMap :: Box -> [(String, VarType)] -> TypedVarMap
 - safeBoxToTypedVarMap :: Box -> [(String, VarType)] -> Maybe TypedVarMap
 - typedVarMapToVarMap :: TypedVarMap -> VarMap
 - unsafeVarMapToTypedVarMap :: VarMap -> [(String, VarType)] -> TypedVarMap
 - safeVarMapToTypedVarMap :: VarMap -> [(String, VarType)] -> Maybe TypedVarMap
 - safeIntersectVarMap :: TypedVarMap -> TypedVarMap -> Maybe TypedVarMap
 - unsafeIntersectVarMap :: TypedVarMap -> TypedVarMap -> TypedVarMap
 - isVarMapInverted :: VarMap -> Bool
 - isTypedVarMapInverted :: TypedVarMap -> Bool
 - getVarNamesWithTypes :: TypedVarMap -> [(String, VarType)]
 - getCorners :: VarMap -> [VarMap]
 - getEdges :: VarMap -> [VarMap]
 - upperbound :: VarMap -> VarMap
 - lowerbound :: VarMap -> VarMap
 - intersectVarMap :: VarMap -> VarMap -> VarMap
 - widestInterval :: VarMap -> (String, (Rational, Rational)) -> (String, (Rational, Rational))
 - widestTypedInterval :: TypedVarMap -> (String, (Rational, Rational)) -> (String, (Rational, Rational))
 - typedVarIntervalToVarInterval :: TypedVarInterval -> VarInterval
 - prettyShowVarMap :: VarMap -> String
 - prettyShowTypedVarMap :: TypedVarMap -> String
 
Documentation
An assosciation list mapping variable names to rational interval domains
data TypedVarInterval Source #
Constructors
| TypedVar VarInterval VarType | 
Instances
| Show TypedVarInterval Source # | |
Defined in PropaFP.VarMap Methods showsPrec :: Int -> TypedVarInterval -> ShowS # show :: TypedVarInterval -> String # showList :: [TypedVarInterval] -> ShowS #  | |
| Eq TypedVarInterval Source # | |
Defined in PropaFP.VarMap Methods (==) :: TypedVarInterval -> TypedVarInterval -> Bool # (/=) :: TypedVarInterval -> TypedVarInterval -> Bool #  | |
| Ord TypedVarInterval Source # | |
Defined in PropaFP.VarMap Methods compare :: TypedVarInterval -> TypedVarInterval -> Ordering # (<) :: TypedVarInterval -> TypedVarInterval -> Bool # (<=) :: TypedVarInterval -> TypedVarInterval -> Bool # (>) :: TypedVarInterval -> TypedVarInterval -> Bool # (>=) :: TypedVarInterval -> TypedVarInterval -> Bool # max :: TypedVarInterval -> TypedVarInterval -> TypedVarInterval # min :: TypedVarInterval -> TypedVarInterval -> TypedVarInterval #  | |
type VarMap = [VarInterval] Source #
type TypedVarMap = [TypedVarInterval] Source #
typedMaxWidth :: TypedVarMap -> Rational Source #
taxicabWidth :: VarMap -> Rational Source #
Get the sum of the width of each interval
increaseDiameter :: VarMap -> Rational -> VarMap Source #
Increase the diameter of all variables in a varMap by the given rational
increaseRadius :: VarMap -> Rational -> VarMap Source #
Increase the radius of all variables in a varMap by the given rational
fullBisect :: VarMap -> [VarMap] Source #
Bisect all elements in a given VarMap
bisectInterval :: (String, (Rational, Rational)) -> ((String, (Rational, Rational)), (String, (Rational, Rational))) Source #
Bisect the domain of the given interval, resulting in a pair Vars
bisectTypedInterval :: (String, (Rational, Rational)) -> VarType -> ((String, (Rational, Rational)), (String, (Rational, Rational))) Source #
bisectN :: Integer -> VarMap -> (VarMap, VarMap) Source #
Bisect the given dimension of the given VarMap, resulting in a pair of VarMaps
bisectTypedVar :: TypedVarMap -> String -> (TypedVarMap, TypedVarMap) Source #
toSearchBox :: VarMap -> CN MPBall -> SearchBox Source #
Convert VarMap to SearchBox with the provided minimum
typedVarMapToBox :: TypedVarMap -> Precision -> Box Source #
unsafeBoxToTypedVarMap :: Box -> [(String, VarType)] -> TypedVarMap Source #
safeBoxToTypedVarMap :: Box -> [(String, VarType)] -> Maybe TypedVarMap Source #
unsafeVarMapToTypedVarMap :: VarMap -> [(String, VarType)] -> TypedVarMap Source #
safeVarMapToTypedVarMap :: VarMap -> [(String, VarType)] -> Maybe TypedVarMap Source #
unsafeIntersectVarMap :: TypedVarMap -> TypedVarMap -> TypedVarMap Source #
Assumes varMaps have vars appearing in the same order
isVarMapInverted :: VarMap -> Bool Source #
getVarNamesWithTypes :: TypedVarMap -> [(String, VarType)] Source #
getCorners :: VarMap -> [VarMap] Source #
upperbound :: VarMap -> VarMap Source #
lowerbound :: VarMap -> VarMap Source #
intersectVarMap :: VarMap -> VarMap -> VarMap Source #
Intersect two varMaps This assumes that both VarMaps have the same variables in the same order
widestInterval :: VarMap -> (String, (Rational, Rational)) -> (String, (Rational, Rational)) Source #
Returns the widest interval in the given VarMap
widestTypedInterval :: TypedVarMap -> (String, (Rational, Rational)) -> (String, (Rational, Rational)) Source #
prettyShowVarMap :: VarMap -> String Source #