cifl-math-library-2.0.0.0: Math libraries
Safe HaskellSafe
LanguageHaskell2010

Math.Tools.Universe

Synopsis

Documentation

class Universe a where Source #

The universe class describes a listing of elements of type a, not including the undefined. This class is frequently needed when dealing with properties.

This is a representation of a recursively enumerable set.

Note that algorithms based on this can be excessively inefficient e.g. for 64 bit integers going through all alternatives is not likely to be fully successful. The instances for big types are designed so that most likely occurring values are in the beginning of the list, e.g. for Integer type, the universe is [0,1,-1,2,-2,...].

Methods

allElements :: [a] Source #

Instances

Instances details
Universe Int16 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Int32 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Int64 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Int8 Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Int8] Source #

Universe Word16 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Word32 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Word64 Source # 
Instance details

Defined in Math.Tools.Universe

Universe Word8 Source # 
Instance details

Defined in Math.Tools.Universe

Universe FiveD Source # 
Instance details

Defined in Math.Matrix.Points

Universe FourD Source # 
Instance details

Defined in Math.Matrix.Points

Universe OneD Source # 
Instance details

Defined in Math.Matrix.Points

Methods

allElements :: [OneD] Source #

Universe SevenD Source # 
Instance details

Defined in Math.Matrix.Points

Universe SixD Source # 
Instance details

Defined in Math.Matrix.Points

Methods

allElements :: [SixD] Source #

Universe ThreeD Source # 
Instance details

Defined in Math.Matrix.Points

Universe TwoD Source # 
Instance details

Defined in Math.Matrix.Points

Methods

allElements :: [TwoD] Source #

Universe Id Source # 
Instance details

Defined in Math.Tools.Id

Methods

allElements :: [Id] Source #

Universe Ordering Source # 
Instance details

Defined in Math.Tools.Universe

Universe Integer Source # 
Instance details

Defined in Math.Tools.Universe

Universe () Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [()] Source #

Universe Bool Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Bool] Source #

Universe Char Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Char] Source #

Universe Int Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Int] Source #

Universe Word Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Word] Source #

(Universe a, Eq a) => Universe (Endo a) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Endo a] Source #

Universe a => Universe (Vector1 a) Source # 
Instance details

Defined in Math.Matrix.Vector1

Methods

allElements :: [Vector1 a] Source #

Universe a => Universe (Vector2 a) Source # 
Instance details

Defined in Math.Matrix.Vector2

Methods

allElements :: [Vector2 a] Source #

Universe a => Universe (Vector3 a) Source # 
Instance details

Defined in Math.Matrix.Vector3

Methods

allElements :: [Vector3 a] Source #

Universe a => Universe (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

allElements :: [Vector4 a] Source #

(Universe a, Eq a) => Universe (Prop a) Source # 
Instance details

Defined in Math.Tools.Prop

Methods

allElements :: [Prop a] Source #

(Universe a, Ord a) => Universe (Set a) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Set a] Source #

Universe a => Universe (Maybe a) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Maybe a] Source #

Universe a => Universe [a] Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [[a]] Source #

(Universe a, Universe b) => Universe (Either a b) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [Either a b] Source #

(Ord a, Eq b, Universe a, Universe b) => Universe (Map a b) Source # 
Instance details

Defined in Math.Tools.Map

Methods

allElements :: [Map a b] Source #

(Universe a, Universe b) => Universe (a, b) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [(a, b)] Source #

(Universe b, Universe a, Eq a) => Universe (a -> b) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [a -> b] Source #

Universe (Four a a) Source # 
Instance details

Defined in Math.Graph.GraphMonoid

Methods

allElements :: [Four a a] Source #

Universe (Three a a) Source # 
Instance details

Defined in Math.Graph.GraphMonoid

Methods

allElements :: [Three a a] Source #

(Universe a, Universe b, Universe c) => Universe (a, b, c) Source # 
Instance details

Defined in Math.Tools.Universe

Methods

allElements :: [(a, b, c)] Source #

separator :: (Universe a, Eq b) => (a -> b) -> (a -> b) -> Bool Source #

differentElements :: (Universe a, Eq b) => (a -> b) -> (a -> b) -> [a] Source #

isMonotone :: (Universe a, Ord a, Ord b) => (a -> b) -> Bool Source #

domain :: Universe a => (a -> b) -> [a] Source #

allNums :: (Num t, Bounded t, Enum t) => [t] Source #

order here is chosen based on what numbers are more likely in applications, so numbers close to zero occur first.

allLists :: [a] -> [[a]] Source #

All lists produces the infinite list of all lists.

tableToFunction :: Eq a => [(a, b)] -> a -> b Source #

allFunctions :: (Universe d, Universe c) => [[(c, d)]] Source #

allSubsets :: [a] -> [[a]] Source #

allFunctionsWithDomain :: Universe c => [d] -> [[(d, c)]] Source #

allFunctionsFrom :: [c] -> [d] -> [[(c, d)]] Source #

all_functions_from only produces any results if the domain list is finite.

allSets :: Ord a => [a] -> [Set a] Source #