FILTERS: Changed filter interface

All parameters are now set through the same function. This is due
to the fact that filter do not store any user parameters (frequency,
Q factor) although both are needed in order to set up
internal coefficients.
This way, the responsibility to store all user parameters will go the
upper level objects.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
FILTERS: Added a filter common definitions

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
FILTERS: Now using std::array for filter coefficients and history

This is a good compromise between a C-style array and a more
high-level type.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
FILTERS: Implementing coefficients computation for a simple lowpass

This is one of the most simple implementation, based on
the Audio EQ Cookbook.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MATHS: Fixed missing include

It was required for _USE_SSE preprocessor flag definition.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MATHS: Fixed direct call to sse intrinsics

The wrappers should be used whenever possible.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MATHS: Added two sse wrappers

- Inverting vector values order
- Shuffling two vectors into a new one

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MATHS: Optimized Rotation wrapper

By using the proper sse intrinsics instead of per-sample stuff,
this operation gets way faster.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Added all arborescence for filters

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MISC: Comment update according last file names changes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Fixed normalized distribution not balanced

The distribution was on [0.0f ; 1.0f]
It is now on [-1.0f ; 1.0f]

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Separated generators and filters performance data set sizes

This allows a finer tuning of tests.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
FILTERS: Actually implementing biquad

Both implementations (SSE and scalar) are done, relying on Direct Form 1.
Note that for now we separate both implementations until a compromise
can be found.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
BUILD: First test for plugin Mac OS X build system

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Added 2nd order raw filter test

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
SCRIPTS: Added scripts for filters

- Common filter interface and functions
- 2nd order "raw" lowpass filter class

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
TESTS: Remove useless include

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