Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 #
Instances
Show TypedVarInterval Source # | |
Defined in PropaFP.VarMap showsPrec :: Int -> TypedVarInterval -> ShowS # show :: TypedVarInterval -> String # showList :: [TypedVarInterval] -> ShowS # | |
Eq TypedVarInterval Source # | |
Defined in PropaFP.VarMap (==) :: TypedVarInterval -> TypedVarInterval -> Bool # (/=) :: TypedVarInterval -> TypedVarInterval -> Bool # | |
Ord TypedVarInterval Source # | |
Defined in PropaFP.VarMap 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 #