ruff-0.4.0.1: relatively useful fractal functions

Copyright(c) Claude Heiland-Allen 2011
LicenseBSD3
Maintainerclaude@mathr.co.uk
Stabilityunstable
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Fractal.RUFF.Mandelbrot.Iterate

Description

Generic (slow) functions to iterate points.

Synopsis

Documentation

data Mode Source #

Iteration mode.

Instances

Bounded Mode Source # 
Enum Mode Source # 

Methods

succ :: Mode -> Mode #

pred :: Mode -> Mode #

toEnum :: Int -> Mode #

fromEnum :: Mode -> Int #

enumFrom :: Mode -> [Mode] #

enumFromThen :: Mode -> Mode -> [Mode] #

enumFromTo :: Mode -> Mode -> [Mode] #

enumFromThenTo :: Mode -> Mode -> Mode -> [Mode] #

Eq Mode Source # 

Methods

(==) :: Mode -> Mode -> Bool #

(/=) :: Mode -> Mode -> Bool #

Data Mode Source # 

Methods

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

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

toConstr :: Mode -> Constr #

dataTypeOf :: Mode -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Mode Source # 

Methods

compare :: Mode -> Mode -> Ordering #

(<) :: Mode -> Mode -> Bool #

(<=) :: Mode -> Mode -> Bool #

(>) :: Mode -> Mode -> Bool #

(>=) :: Mode -> Mode -> Bool #

max :: Mode -> Mode -> Mode #

min :: Mode -> Mode -> Mode #

Read Mode Source # 
Show Mode Source # 

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

data Iterate u r Source #

Iteration state.

Constructors

IterSimple 

Fields

IterEscapeTime 

Fields

IterDistanceEstimate 

Fields

Instances

(Eq u, Eq r) => Eq (Iterate u r) Source # 

Methods

(==) :: Iterate u r -> Iterate u r -> Bool #

(/=) :: Iterate u r -> Iterate u r -> Bool #

(Data r, Data u) => Data (Iterate u r) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Iterate u r -> c (Iterate u r) #

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

toConstr :: Iterate u r -> Constr #

dataTypeOf :: Iterate u r -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Iterate u r)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Iterate u r)) #

gmapT :: (forall b. Data b => b -> b) -> Iterate u r -> Iterate u r #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Iterate u r -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Iterate u r -> r #

gmapQ :: (forall d. Data d => d -> u) -> Iterate u r -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Iterate u r -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Iterate u r -> m (Iterate u r) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Iterate u r -> m (Iterate u r) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Iterate u r -> m (Iterate u r) #

(Read u, Read r) => Read (Iterate u r) Source # 
(Show u, Show r) => Show (Iterate u r) Source # 

Methods

showsPrec :: Int -> Iterate u r -> ShowS #

show :: Iterate u r -> String #

showList :: [Iterate u r] -> ShowS #

data Output u r Source #

Iteration output.

Constructors

OutSimple 

Fields

OutEscapeTime 

Fields

OutDistanceEstimate 

Instances

(Eq r, Eq u) => Eq (Output u r) Source # 

Methods

(==) :: Output u r -> Output u r -> Bool #

(/=) :: Output u r -> Output u r -> Bool #

(Data r, Data u) => Data (Output u r) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Output u r -> c (Output u r) #

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

toConstr :: Output u r -> Constr #

dataTypeOf :: Output u r -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Output u r)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Output u r)) #

gmapT :: (forall b. Data b => b -> b) -> Output u r -> Output u r #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Output u r -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Output u r -> r #

gmapQ :: (forall d. Data d => d -> u) -> Output u r -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Output u r -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Output u r -> m (Output u r) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Output u r -> m (Output u r) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Output u r -> m (Output u r) #

(Ord r, Ord u) => Ord (Output u r) Source # 

Methods

compare :: Output u r -> Output u r -> Ordering #

(<) :: Output u r -> Output u r -> Bool #

(<=) :: Output u r -> Output u r -> Bool #

(>) :: Output u r -> Output u r -> Bool #

(>=) :: Output u r -> Output u r -> Bool #

max :: Output u r -> Output u r -> Output u r #

min :: Output u r -> Output u r -> Output u r #

(Read r, Read u) => Read (Output u r) Source # 
(Show r, Show u) => Show (Output u r) Source # 

Methods

showsPrec :: Int -> Output u r -> ShowS #

show :: Output u r -> String #

showList :: [Output u r] -> ShowS #

initial :: Num r => Mode -> u -> Complex r -> Iterate u r Source #

Iteration initial state.

iterate :: (Ord r, Floating r) => Int -> Iterate u r -> Either (Iterate u r) (Output u r) Source #

Iteration engine.

iterates :: (Functor m, Monad m, Ord r, Floating r) => Int -> [Iterate u r] -> (Output u r -> m ()) -> m [Iterate u r] Source #

Iterate over a list.