huzzy-0.1.0.0: Fuzzy logic library with support for Type-1, Interval type-2 and zSlices enabled type-2 fuzzy sets and systems.

Safe HaskellSafe-Inferred
LanguageHaskell2010

Huzzy.Base.Sets

Documentation

newtype MF a Source

Constructors

MF (a -> Double) 

Instances

Fuzzy (MF a) 
FRule (MF a) 
type Antecedent (MF a) = Double 

type MF' a = a -> Double Source

type FuzOp a = a -> a -> a Source

class Fuzzy a where Source

Methods

(?&&) :: a -> a -> a Source

(?||) :: a -> a -> a Source

fnot :: a -> a Source

Instances

Fuzzy Double 
Fuzzy (MF a) 
Fuzzy (T1Set a) 
Fuzzy (IT2Set a) 
Fuzzy (T2ZSet a) 
Fuzzy b => Fuzzy (a -> b) 
(Fuzzy a, Fuzzy b) => Fuzzy (a, b) 

class FSet a where Source

Associated Types

type Value a Source

type Support a Source

type Returned a Source

Methods

support :: a -> Support a Source

hedge :: Double -> a -> a Source

is :: Value a -> a -> Returned a Source

Instances

FSet (T1Set a) 
FSet (IT2Set a) 
FSet (T2ZSet a) 

tNo :: Fuzzy a => FuzOp a -> a -> a -> a Source

tCo :: (Num a, Fuzzy a) => FuzOp a -> a -> a -> a Source

tGodel :: (Fuzzy a, Ord a) => FuzOp a Source

tProd :: (Fuzzy a, Num a) => FuzOp a Source

tLuk :: (Fuzzy a, Num a, Ord a) => FuzOp a Source

tDras :: (Fuzzy a, Eq a, Num a) => FuzOp a Source

tNilMin :: (Fuzzy a, Eq a, Num a, Ord a) => FuzOp a Source

tHam :: (Fuzzy a, Eq a, Num a, Fractional a) => FuzOp a Source

support' :: [a] -> MF' a -> [a] Source

hedge' :: Double -> MF' a -> MF' a Source

ub' :: Ord a => [a] -> a Source

lb' :: Ord a => [a] -> a Source

very' :: MF' a -> MF' a Source

discrete :: Eq a => [(a, Double)] -> MF a Source

discrete' :: Eq a => [(a, Double)] -> MF' a Source