Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-08-01 13:36:42

Hugo Duncan wrote:
> Given recent discussion on Time Series and Accumulators, I thought I would
> have a go at implementing a FIR filter for Accumulators, and have run into
> a problem.
> I decided to do this in two parts; first create a (reusable) delay
> statistic (similar to tail) that provides a history buffer for the signal
> and then create the filter (similar to tail_variate) , that will depend on
> the delay buffer.
> I have created the delay buffer with a length determined by a cache_size
> argument. This works well.
> I am now creating the filter, which has a "coefficents" argument to set
> the filter coefficients. I would like to pass the size of the coefficients
> list as the cache_size argument to the underlying delay buffer.
> Is this possible?

Certainly. You can use Boost.Parameter to define a new keyword:


The accumulator_set has constructors that take named parameters and
builds and argument pack.

   accumulator_set<... > acc( ..., coefficients = 5, ...);

The resulting argument pack is passed as the constructor parameter to
all the accumulators in the set. Your accumulator can then extract the
coefficients argument from the pack with "args[coefficients]".


Eric Niebler
Boost Consulting
The Astoria Seminar ==>

Boost list run by bdawes at, gregod at, cpdaniel at, john at