/* * © Copyright 2014 – Urheberrechtshinweis * Alle Rechte vorbehalten / All Rights Reserved * * Programmcode ist urheberrechtlich geschuetzt. * Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner. * Keine Verwendung ohne explizite Genehmigung. * (vgl. § 106 ff UrhG / § 97 UrhG) */ #ifndef BIQUADSTACK_H #define BIQUADSTACK_H #include #include "BiQuad.h" namespace IIR { template class BiQuadStack { std::vector> filters; public: BiQuadStack() { ; } BiQuadStack(const int num) { filters.resize(num); } void resize(const int num) { filters.resize(num); } BiQuad& operator [] (const size_t idx) { return filters.at(idx); } Scalar filter(Scalar val) { for (BiQuad& bq : filters) { val = bq.filter(val); } return val; } }; } #endif // BIQUADSTACK_H