INTEFACE/ANALYZER: Fix a typo in tests.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Fix output data not being written properly

The first element was successively overwritten, the other elements of
the output data not being modified.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Fix first input buffer being empty

Sicne a few descriptors rely on a larger input window than the default
hop size, their input may change on the first input buffers, even if the
input signal is stationary.
This may be change by zero initializing the input window.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
ANALYZER/INTERFACE: Add an actual test for consistency accross subframes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Fix sin generator being reinitialised at each iteration

As in #21, the sin generator was being reinitialised at each call
of std::generate.
This is now fixed by using a lambda.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Fix the input not being read beyond the first hop

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Limit the maximum iteration counts per tests

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Separate sub- and inter- frames consistency tests

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Tweak the epsilon for subframes consistency tests

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: The process now output the actual subframes count

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
ALGORITHMS: Add a simple "Pop" method (without overlap) to the ringbuffer

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
ALGORITHMS/RINGBUFFER: Simplify code by using STD algorithms capabilities

STD algorithms support zero-length parameters, so no redundant checks are
required.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
ALGORITHMS/RINGBUFFER: Allow zero-length push/pop

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Fix inter-frame consistency using the internal buffer

The internal buffer stores the data remaining from one process call
to to other, when the input block size is not a multiple of the internal
chartreuse block size.

Fixes #43.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Add a test for tiny block sizes

Test the issue #44.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Handle tiny block sizes

Fixes #44.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Fix tiny block size tests

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Lower epsilon thanks to last implementation changes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: More asserts

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERFACE/ANALYZER: Various minor code style fixes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>