Copyright | (c) 2013 Ertugrul Soeylemez |
---|---|
License | BSD3 |
Maintainer | Ertugrul Soeylemez <es@ertes.de> |
Safe Haskell | Safe |
Language | Haskell2010 |
FRP.Netwire.Utils.Timeline
Description
Synopsis
- data Timeline t a
- insert :: Ord t => t -> a -> Timeline t a -> Timeline t a
- singleton :: t -> a -> Timeline t a
- union :: Ord t => Timeline t a -> Timeline t a -> Timeline t a
- linAvg :: (Fractional a, Fractional t, Real t) => t -> t -> Timeline t a -> a
- linCutL :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> Timeline t a
- linCutR :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> Timeline t a
- linLookup :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> a
- scAvg :: (Fractional a, Real t) => t -> t -> Timeline t a -> a
- scCutL :: Ord t => t -> Timeline t a -> Timeline t a
- scCutR :: Ord t => t -> Timeline t a -> Timeline t a
- scLookup :: Ord t => t -> Timeline t a -> a
Time lines for statistics wires
A time line is a non-empty set of samples together with time information.
Instances
Functor (Timeline t) Source # | |
(Eq t, Eq a) => Eq (Timeline t a) Source # | |
(Data t, Data a, Ord t) => Data (Timeline t a) Source # | |
Defined in FRP.Netwire.Utils.Timeline Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Timeline t a -> c (Timeline t a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Timeline t a) # toConstr :: Timeline t a -> Constr # dataTypeOf :: Timeline t a -> DataType # dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Timeline t a)) # dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Timeline t a)) # gmapT :: (forall b. Data b => b -> b) -> Timeline t a -> Timeline t a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Timeline t a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Timeline t a -> r # gmapQ :: (forall d. Data d => d -> u) -> Timeline t a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Timeline t a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Timeline t a -> m (Timeline t a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Timeline t a -> m (Timeline t a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Timeline t a -> m (Timeline t a) # | |
(Ord t, Ord a) => Ord (Timeline t a) Source # | |
Defined in FRP.Netwire.Utils.Timeline | |
(Ord t, Read t, Read a) => Read (Timeline t a) Source # | |
(Show t, Show a) => Show (Timeline t a) Source # | |
Constructing time lines
union :: Ord t => Timeline t a -> Timeline t a -> Timeline t a Source #
Union of two time lines. Right-biased.
Linear sampling
linAvg :: (Fractional a, Fractional t, Real t) => t -> t -> Timeline t a -> a Source #
Linearly interpolate the points in the time line, integrate the given time interval of the graph, divide by the interval length.
linCutL :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> Timeline t a Source #
Cut the timeline at the given point in time t
, such that all
samples up to but not including t
are forgotten. The most recent
sample before t
is moved and interpolated accordingly.
linCutR :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> Timeline t a Source #
Cut the timeline at the given point in time t
, such that all
samples later than t
are forgotten. The most recent sample after
t
is moved and interpolated accordingly.
linLookup :: (Fractional a, Fractional t, Real t) => t -> Timeline t a -> a Source #
Look up with linear sampling.
Staircase sampling
scAvg :: (Fractional a, Real t) => t -> t -> Timeline t a -> a Source #
Integrate the given time interval of the staircase, divide by the interval length.
scCutL :: Ord t => t -> Timeline t a -> Timeline t a Source #
Cut the timeline at the given point in time t
, such that all
samples up to but not including t
are forgotten. The most recent
sample before t
is moved accordingly.