Copyright | (c) Maciej Bendkowski 2017-2018 |
---|---|
License | BSD3 |
Maintainer | maciej.bendkowski@tcs.uj.edu.pl |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
General utilities for combinatorial system of algebraic and rational systems.
- data System a = System {}
- size :: System a -> Int
- constructors :: System a -> Int
- data Cons a = Cons {}
- data Arg
- argName :: Arg -> String
- types :: System a -> Set String
- data PSystem a = PSystem {}
- typeList :: PSystem a -> [String]
- initType :: System a -> String
- paramTypes :: PSystem a -> [(String, [Cons a])]
- paramTypesW :: PSystem a -> [(String, [(Cons a, Int)])]
- typeWeight :: PSystem Double -> String -> Double
- seqTypes :: System a -> [String]
- data SystemType
- systemType :: System a -> SystemType
- hasAtoms :: System a -> Bool
- isAtomic :: Cons a -> Bool
- evalT :: System Int -> Double -> Vector Double -> [Cons Int] -> Double
- evalC :: System Int -> Double -> Vector Double -> Cons Int -> Double
- evalA :: System Int -> Vector Double -> Arg -> Double
- getIdx :: System Int -> String -> Int
- value :: String -> System b -> Vector Double -> Double
- eval :: System Int -> Vector Double -> Double -> Vector Double
- data SystemT a
- toSystemT :: System a -> SystemT a
Documentation
System of combinatorial structures.
constructors :: System a -> Int Source #
Constructors of a combinatorial system.
Type constructor.
Type constructor arguments.
Parametrised system of combinatorial structures.
paramTypes :: PSystem a -> [(String, [Cons a])] Source #
List of types with corresponding constructors.
paramTypesW :: PSystem a -> [(String, [(Cons a, Int)])] Source #
List of types with corresponding constructors and input weights.
typeWeight :: PSystem Double -> String -> Double Source #
Type weight of the given parametrised system.
data SystemType Source #
Type of a combinatorial system. Note: System other than rational or algebraic are not yet supported.
Rational | |
Algebraic | |
Unsupported String | error message |
systemType :: System a -> SystemType Source #
Determines the system type.
evalT :: System Int -> Double -> Vector Double -> [Cons Int] -> Double Source #
Evaluates the type in the given coordinates.
evalC :: System Int -> Double -> Vector Double -> Cons Int -> Double Source #
Evaluates the constructor in the given coordinates.
evalA :: System Int -> Vector Double -> Arg -> Double Source #
Evaluates the argument in the given coordinates.