Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- class Ord m => MedianAlgebra m where
- med :: m -> m -> m -> m
- median5 :: MedianAlgebra a => a -> a -> a -> a -> a -> a
- median :: Ord a => a -> a -> a -> a
- data Interval a = Interval {
- interval_startpoint :: a
- interval_endpoint :: a
- in_interval :: (Eq a, MedianAlgebra a) => a -> Interval a -> Bool
- interval :: (Monad m, MedianAlgebra a) => Interval a -> m a -> m a
- median_homomorphism :: MedianAlgebra a => Interval a -> a -> a
- andor :: Ord a => (a, a) -> (a, a)
- andor' :: Ord a => (a, a) -> (a, a)
- andor3 :: Ord a => (a, a, a) -> (a, a, a)
Documentation
class Ord m => MedianAlgebra m where Source #
Rules expected of MedianAlgebra.
From "Knuth: The Art of Computer Programming" section 7.1.1 http://www-cs-faculty.stanford.edu/~uno/taocp.html
"median/majority"
med x x y == x
"median/commutative"
med x y z == med x z y
med x y z == med y z x
med x y z == med z x y
med x y z == med z y x
"median/associative"
med x w (med y w z) == med (med x w y) w z
"median/distributive"
med (med x y z) u v == med x (med y u v) (med z u v)
Instances
median5 :: MedianAlgebra a => a -> a -> a -> a -> a -> a Source #
Interval | |
|
Instances
MonadFail Interval Source # | |
Defined in Math.Tools.Median | |
Applicative Interval Source # | |
Functor Interval Source # | |
Monad Interval Source # | |
(Num a, Ord a) => Num (Interval a) Source # | |
Defined in Math.Tools.Median | |
Show a => Show (Interval a) Source # | |
Num a => InnerProductSpace (Interval a) Source # | |
Num a => NormedSpace (Interval a) Source # | |
Num a => VectorSpace (Interval a) Source # | |
type Scalar (Interval a) Source # | |
Defined in Math.Tools.Median |
in_interval :: (Eq a, MedianAlgebra a) => a -> Interval a -> Bool Source #
median_homomorphism :: MedianAlgebra a => Interval a -> a -> a Source #