feldspar-language-0.2: A functional embedded language for DSP and parallelism

Feldspar.Range

Description

Ranged values

Synopsis

Documentation

data Ord a => Range a Source

Constructors

Range 

Fields

lowerBound :: Maybe a
 
upperBound :: Maybe a
 

Instances

Ord a => Eq (Range a) 
(Ord a, Num a) => Num (Range a) 
(Ord a, Show a) => Show (Range a) 
(Arbitrary a, Ord a, Num a) => Arbitrary (Range a) 
(Ord a, Num a) => Monoid (Range a) 
Ord a => Set (Range a) 

rangeOp :: Ord a => (Range a -> Range a) -> Range a -> Range aSource

rangeOp2 :: Ord a => (Range a -> Range a -> Range a) -> Range a -> Range a -> Range aSource

mapMonotonic :: (Ord a, Ord b) => (a -> b) -> Range a -> Range bSource

rangeMul :: (Ord a, Num a) => Range a -> Range a -> Range aSource

emptyRange :: (Ord a, Num a) => Range aSource

range :: Ord a => a -> a -> Range aSource

rangeByRange :: Ord a => Range a -> Range a -> Range aSource

rangeSize :: (Ord a, Num a) => Range a -> Maybe aSource

isFull :: Ord a => Range a -> BoolSource

isNatural :: (Ord a, Num a) => Range a -> BoolSource

Checks whether a range is a sub-range of the natural numbers.

isNegative :: (Ord a, Num a) => Range a -> BoolSource

Checks whether a range is a sub-range of the negative numbers.

inRange :: Ord a => a -> Range a -> BoolSource

rangeGap :: (Ord a, Num a) => Range a -> Range a -> Range aSource

(\/) :: Ord a => Range a -> Range a -> Range aSource

liftMaybe2 :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe aSource

(/\) :: Ord a => Range a -> Range a -> Range aSource

disjoint :: (Ord a, Num a) => Range a -> Range a -> BoolSource

rangeLess :: Ord a => Range a -> Range a -> BoolSource

r1 `rangeLess` r2:

Checks if all elements of r1 are less than all elements of r2.

rangeLessEq :: Ord a => Range a -> Range a -> BoolSource

r1 `rangeLessEq` r2:

Checks if all elements of r1 are less than or equal to all elements of r2.

showRange :: (Show a, Ord a) => Range a -> StringSource

prop_arith1 :: (forall a. Num a => a -> a) -> Int -> Range Int -> PropertySource

prop_arith2 :: (forall a. Num a => a -> a -> a) -> Int -> Int -> Range Int -> Range Int -> PropertySource