# Windowing

## AWINAGG

**awinagg(***Stream of Array s, Integer size, Integer stride*

**) -> Stream of Array**

STABLE

Stream of count windows over stream `s`

represented as Arrays where:

`size`

is the number of elements in each window
`stride`

is the number of elements in the window stride

## PREDWIN

**predwin(***Stream s, Integer c, Object p, Function e, Function l, Boolean start_entered*

**) -> Stream of Vector**

STABLE

Form predicate windows over stream `s`

by applying the window delimination

functions `e`

and `l`

on sliding change windows over `s`

of size `cw`

with stride 1. A new window is started when `e(cw,p)`

is true or at the
begining if `start_entered=true`

and ended when `l(cw, p)`

is true

**predwin(***Stream s, Integer c, Object p, Function e, Function l*

**) -> Stream of Vector**

STABLE

Form predicate windows over stream `s`

by applying the window delimination

functions `e`

and `l`

on sliding change windows over `s`

of size `cw`

with stride 1. A new window is started when `e(cw,p)`

is true
and ended when `l(cw, p)`

is true

## REMOVE_NULL

**remove_null(***Stream s*

**) -> Stream**

STABLE

Remove tuples in `s`

containing some null

## SIMWINSTREAM

**simwinstream(***Real pace, Integer sz*

**) -> Stream of Vector of Real**

STABLE

*No description.*

## TWINAGG

**twinagg(***Stream of Timeval s, Number size, Number stride*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`stride`

is the window stride in seconds

**twinagg(***Stream of Timeval s, Number size, Number stride, Boolean keep_ts*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`stride`

is the window stride in seconds
`keep_ts`

wether to keep timestamp of each element in window.

**twinagg(***Stream of Timeval s, Number size, Boolean keep_ts, Function pred, Vector args*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`pred`

is a test function returning true if the window should be emitted
`args`

is a vector containing any additional arguments to the function pred
`keep_ts`

wether to keep timestamp of each element in window.

**twinagg(***Stream of Timeval s, Number size, Number stride, Timeval start*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`stride`

is the window stride in seconds
`start`

is the point in time where the windowing should start.

**twinagg(***Stream of Timeval s, Number size, Function pred*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`pred`

is a test function returning true if the window should be emitted

**twinagg(***Stream of Timeval s, Number size, Function pred, Vector args*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`pred`

is a test function returning true if the window should be emitted
`args`

is a vector containing any additional arguments to the function pred

## TWINAGG0

**twinagg0(***Stream of Timeval s, Number size, Number stride, Timeval start, Boolean keep_ts*

**) -> Stream of Timeval of Vector**

STABLE

Stream of time windows over stream `s`

represented as

time stamped vectors where:
`size`

is the window size in seconds
`stride`

is the window stride in seconds
`start`

is the point in time where the windowing should start.
`keep_ts`

wether to keep timestamp of each element in window.

## WINAGG

**winagg(***Stream s, Number size, Number stride*

**) -> Stream of Vector**

STABLE

Stream of count windows over stream `s`

represented as vectors where:

`size`

is the number of elements in each window
`stride`

is the number of elements in the window stride