A library to handle reduce/map kind of operation in Faust. Its official prefix is rm.


Fold-like high order function. Apply a binary operation on a block of consecutive samples of a signal . For example : reduce(max,128) will compute the maximun of each block of 128 samples. Please note that the resulting value, while produced continuously, will be constant for the duration of a block. A new value is only produced at the end of a block. Note also that blocks should be of at least one sample (n>0).


reduce(op, n, x)


Like reduce but a foo function is applied to the result. From a mathematical point of view : reducemap(op,foo,n) is equivalent to reduce(op,n):foo but more efficient.


reducemap(op, foo, n, x)