cifl-math-library-1.1.1.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

all_elements :: [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

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

Universe SevenD Source # 
Instance details

Defined in Math.Matrix.Points

Universe SixD Source # 
Instance details

Defined in Math.Matrix.Points

Universe ThreeD Source # 
Instance details

Defined in Math.Matrix.Points

Universe TwoD Source # 
Instance details

Defined in Math.Matrix.Points

Universe Id Source # 
Instance details

Defined in Math.Tools.Id

Methods

all_elements :: [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

all_elements :: [()] Source #

Universe Bool Source # 
Instance details

Defined in Math.Tools.Universe

Universe Char Source # 
Instance details

Defined in Math.Tools.Universe

Universe Int Source # 
Instance details

Defined in Math.Tools.Universe

Methods

all_elements :: [Int] Source #

Universe Word Source # 
Instance details

Defined in Math.Tools.Universe

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

Defined in Math.Tools.Universe

Methods

all_elements :: [Endo a] Source #

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

Defined in Math.Matrix.Vector1

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

Defined in Math.Matrix.Vector2

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

Defined in Math.Matrix.Vector3

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

Defined in Math.Matrix.Vector4

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

Defined in Math.Tools.Prop

Methods

all_elements :: [Prop a] Source #

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

Defined in Math.Tools.Universe

Methods

all_elements :: [Set a] Source #

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

Defined in Math.Tools.Universe

Methods

all_elements :: [Maybe a] Source #

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

Defined in Math.Tools.Universe

Methods

all_elements :: [[a]] Source #

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

Defined in Math.Tools.Universe

Methods

all_elements :: [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

all_elements :: [Map a b] Source #

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

Defined in Math.Tools.Universe

Methods

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

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

Defined in Math.Tools.Universe

Methods

all_elements :: [a -> b] Source #

Universe (Four a a) Source # 
Instance details

Defined in Math.Graph.GraphMonoid

Methods

all_elements :: [Four a a] Source #

Universe (Three a a) Source # 
Instance details

Defined in Math.Graph.GraphMonoid

Methods

all_elements :: [Three a a] Source #

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

Defined in Math.Tools.Universe

Methods

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

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

different_elements :: (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 #

all_nums :: (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.

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

All lists produces the infinite list of all lists.

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

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

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

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

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

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

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