netwire-5.0.2: Functional reactive programming library

FRP.Netwire.Utils.Timeline

Description

Synopsis

# Time lines for statistics wires

data Timeline t a Source #

A time line is a non-empty set of samples together with time information.

Instances

# Constructing time lines

insert :: Ord t => t -> a -> Timeline t a -> Timeline t a Source #

Insert the given data point.

singleton :: t -> a -> Timeline t a Source #

Singleton timeline with the given point.

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.

scCutR :: Ord 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 earliest sample after t is moved accordingly.

scLookup :: Ord t => t -> Timeline t a -> a Source #

Look up on staircase.