numerical-0.0.0.0: core package for Numerical Haskell project

Safe HaskellSafe
LanguageHaskell2010

Numerical.Array.Range

Synopsis

Documentation

data Range a Source #

whenever you are tempted to do a (lo,hi) tuple, use this instead This should perhaps be made lazy, but strict for now.

Constructors

Range 

Fields

Instances
Functor Range Source # 
Instance details

Defined in Numerical.Array.Range

Methods

fmap :: (a -> b) -> Range a -> Range b #

(<$) :: a -> Range b -> Range a #

Foldable Range Source # 
Instance details

Defined in Numerical.Array.Range

Methods

fold :: Monoid m => Range m -> m #

foldMap :: Monoid m => (a -> m) -> Range a -> m #

foldr :: (a -> b -> b) -> b -> Range a -> b #

foldr' :: (a -> b -> b) -> b -> Range a -> b #

foldl :: (b -> a -> b) -> b -> Range a -> b #

foldl' :: (b -> a -> b) -> b -> Range a -> b #

foldr1 :: (a -> a -> a) -> Range a -> a #

foldl1 :: (a -> a -> a) -> Range a -> a #

toList :: Range a -> [a] #

null :: Range a -> Bool #

length :: Range a -> Int #

elem :: Eq a => a -> Range a -> Bool #

maximum :: Ord a => Range a -> a #

minimum :: Ord a => Range a -> a #

sum :: Num a => Range a -> a #

product :: Num a => Range a -> a #

Traversable Range Source # 
Instance details

Defined in Numerical.Array.Range

Methods

traverse :: Applicative f => (a -> f b) -> Range a -> f (Range b) #

sequenceA :: Applicative f => Range (f a) -> f (Range a) #

mapM :: Monad m => (a -> m b) -> Range a -> m (Range b) #

sequence :: Monad m => Range (m a) -> m (Range a) #

Eq a => Eq (Range a) Source # 
Instance details

Defined in Numerical.Array.Range

Methods

(==) :: Range a -> Range a -> Bool #

(/=) :: Range a -> Range a -> Bool #

Data a => Data (Range a) Source # 
Instance details

Defined in Numerical.Array.Range

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Range a -> c (Range a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Range a) #

toConstr :: Range a -> Constr #

dataTypeOf :: Range a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Range a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Range a)) #

gmapT :: (forall b. Data b => b -> b) -> Range a -> Range a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Range a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Range a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Range a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Range a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Range a -> m (Range a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Range a -> m (Range a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Range a -> m (Range a) #

Show a => Show (Range a) Source # 
Instance details

Defined in Numerical.Array.Range

Methods

showsPrec :: Int -> Range a -> ShowS #

show :: Range a -> String #

showList :: [Range a] -> ShowS #

Generic (Range a) Source # 
Instance details

Defined in Numerical.Array.Range

Associated Types

type Rep (Range a) :: Type -> Type #

Methods

from :: Range a -> Rep (Range a) x #

to :: Rep (Range a) x -> Range a #

HasRange (Range a) a Source # 
Instance details

Defined in Numerical.Array.Range

Methods

rangeMin :: Functor f => (a -> f a) -> Range a -> f (Range a) Source #

rangeMax :: Functor f => (a -> f a) -> Range a -> f (Range a) Source #

type Rep (Range a) Source # 
Instance details

Defined in Numerical.Array.Range

type Rep (Range a) = D1 (MetaData "Range" "Numerical.Array.Range" "numerical-0.0.0.0-G1yWw4Hx7O95VnU5FU3zyO" False) (C1 (MetaCons "Range" PrefixI True) (S1 (MetaSel (Just "_RangeMin") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a) :*: S1 (MetaSel (Just "_RangeMax") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)))

data AffineRange a Source #

this is uniform address interval by any other name

Constructors

AffineRange 
Instances
Functor AffineRange Source # 
Instance details

Defined in Numerical.Array.Range

Methods

fmap :: (a -> b) -> AffineRange a -> AffineRange b #

(<$) :: a -> AffineRange b -> AffineRange a #

Foldable AffineRange Source # 
Instance details

Defined in Numerical.Array.Range

Methods

fold :: Monoid m => AffineRange m -> m #

foldMap :: Monoid m => (a -> m) -> AffineRange a -> m #

foldr :: (a -> b -> b) -> b -> AffineRange a -> b #

foldr' :: (a -> b -> b) -> b -> AffineRange a -> b #

foldl :: (b -> a -> b) -> b -> AffineRange a -> b #

foldl' :: (b -> a -> b) -> b -> AffineRange a -> b #

foldr1 :: (a -> a -> a) -> AffineRange a -> a #

foldl1 :: (a -> a -> a) -> AffineRange a -> a #

toList :: AffineRange a -> [a] #

null :: AffineRange a -> Bool #

length :: AffineRange a -> Int #

elem :: Eq a => a -> AffineRange a -> Bool #

maximum :: Ord a => AffineRange a -> a #

minimum :: Ord a => AffineRange a -> a #

sum :: Num a => AffineRange a -> a #

product :: Num a => AffineRange a -> a #

Traversable AffineRange Source # 
Instance details

Defined in Numerical.Array.Range

Methods

traverse :: Applicative f => (a -> f b) -> AffineRange a -> f (AffineRange b) #

sequenceA :: Applicative f => AffineRange (f a) -> f (AffineRange a) #

mapM :: Monad m => (a -> m b) -> AffineRange a -> m (AffineRange b) #

sequence :: Monad m => AffineRange (m a) -> m (AffineRange a) #

Eq a => Eq (AffineRange a) Source # 
Instance details

Defined in Numerical.Array.Range

Data a => Data (AffineRange a) Source # 
Instance details

Defined in Numerical.Array.Range

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AffineRange a -> c (AffineRange a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AffineRange a) #

toConstr :: AffineRange a -> Constr #

dataTypeOf :: AffineRange a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AffineRange a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AffineRange a)) #

gmapT :: (forall b. Data b => b -> b) -> AffineRange a -> AffineRange a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AffineRange a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AffineRange a -> r #

gmapQ :: (forall d. Data d => d -> u) -> AffineRange a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AffineRange a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AffineRange a -> m (AffineRange a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AffineRange a -> m (AffineRange a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AffineRange a -> m (AffineRange a) #

Show a => Show (AffineRange a) Source # 
Instance details

Defined in Numerical.Array.Range

Generic (AffineRange a) Source # 
Instance details

Defined in Numerical.Array.Range

Associated Types

type Rep (AffineRange a) :: Type -> Type #

Methods

from :: AffineRange a -> Rep (AffineRange a) x #

to :: Rep (AffineRange a) x -> AffineRange a #

HasRange (AffineRange a) a Source # 
Instance details

Defined in Numerical.Array.Range

Methods

rangeMin :: Functor f => (a -> f a) -> AffineRange a -> f (AffineRange a) Source #

rangeMax :: Functor f => (a -> f a) -> AffineRange a -> f (AffineRange a) Source #

type Rep (AffineRange a) Source # 
Instance details

Defined in Numerical.Array.Range

type Rep (AffineRange a) = D1 (MetaData "AffineRange" "Numerical.Array.Range" "numerical-0.0.0.0-G1yWw4Hx7O95VnU5FU3zyO" False) (C1 (MetaCons "AffineRange" PrefixI True) (S1 (MetaSel (Just "_AffineRangeMin") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a) :*: (S1 (MetaSel (Just "_AffineRangeStride") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "_AffineRangeMax") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))))

class HasRange r a | r -> a where Source #

Methods

rangeMin :: Functor f => (a -> f a) -> r -> f r Source #

rangeMax :: Functor f => (a -> f a) -> r -> f r Source #

Instances
HasRange (AffineRange a) a Source # 
Instance details

Defined in Numerical.Array.Range

Methods

rangeMin :: Functor f => (a -> f a) -> AffineRange a -> f (AffineRange a) Source #

rangeMax :: Functor f => (a -> f a) -> AffineRange a -> f (AffineRange a) Source #

HasRange (Range a) a Source # 
Instance details

Defined in Numerical.Array.Range

Methods

rangeMin :: Functor f => (a -> f a) -> Range a -> f (Range a) Source #

rangeMax :: Functor f => (a -> f a) -> Range a -> f (Range a) Source #