| 
							- /*
 -  * Author: Harry van Haaren 2013
 -  *         harryhaaren@gmail.com
 -  *
 -  * This program is free software; you can redistribute it and/or modify
 -  * it under the terms of the GNU General Public License as published by
 -  * the Free Software Foundation; either version 2 of the License, or
 -  * (at your option) any later version.
 -  *
 -  * This program is distributed in the hope that it will be useful,
 -  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 -  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 -  * GNU General Public License for more details.
 -  *
 -  * You should have received a copy of the GNU General Public License
 -  * along with this program; if not, write to the Free Software
 -  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 -  * MA 02110-1301, USA.
 -  */
 - 
 - /*
 -   The DSP code in this file was generated using FAUST.
 -   The FAUST code used is under the following licenses:
 - 
 -   effect.lib/name       Faust Audio Effect Library
 -   effect.lib/author     Julius O. Smith (jos at ccrma.stanford.edu)
 -   effect.lib/copyright  Julius O. Smith III
 -   effect.lib/version    1.33
 -   effect.lib/license    STK-4.3
 -   effect.lib/reference  https://ccrma.stanford.edu/realsimple/faust_strings/
 - 
 -   filter.lib/author     Julius O. Smith (jos at ccrma.stanford.edu)
 -   filter.lib/name       Faust Filter Library
 -   filter.lib/copyright  Julius O. Smith III
 -   filter.lib/version    1.29
 -   filter.lib/license    STK-4.3
 -   filter.lib/reference  https://ccrma.stanford.edu/~jos/filters/
 - 
 -   music.lib/name        Music Library
 -   music.lib/author      GRAME
 -   music.lib/copyright   GRAME
 -   music.lib/version     1.0
 -   music.lib/license     LGPL
 - 
 -   math.lib/name         Math Library
 -   math.lib/author       GRAME
 -   math.lib/copyright    GRAME
 -   math.lib/version      1.0
 -   math.lib/license      LGPL
 - */
 - 
 - 
 - #ifndef OPENAV_DSP_REVERB_H
 - #define OPENAV_DSP_REVERB_H
 - 
 - #include <math.h>
 - #include <cmath>
 - #include <cstdlib>
 - 
 - template <class T> const T& max (const T& a, const T& b) {
 -   return (a<b)?b:a;
 - }
 - 
 - template <class T> const T& min (const T& a, const T& b) {
 -   return !(b<a)?a:b;
 - }
 - 
 - template <int N> inline float faustpower(float x) 		{ return powf(x,N); }
 - template <int N> inline double faustpower(double x) 	{ return pow(x,N); }
 - template <int N> inline int faustpower(int x) 			{ return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
 - template <> 	 inline int faustpower<0>(int x) 		{ return 1; }
 - template <> 	 inline int faustpower<1>(int x) 		{ return x; }
 - 
 - class Reverb // : Effect
 - {
 -   public:
 -     Reverb(int sr)
 -     {
 -       init( sr );
 -     }
 - 
 -     int getNumInputs() { return 2; }
 -     int getNumOutputs(){ return 2; }
 - 
 -     void damping(float d)
 -     {
 -       if( d > 1.0 ) d = 1.0f;
 -       if( d < 0.0 ) d = 0.0f;
 - 
 -       fslider1 = (1-d) * 18500 + 1500.f;
 -     }
 - 
 -     void rt60(float rt)
 -     {
 -       if( rt > 1.0 ) rt = 1.0f;
 -       if( rt < 0.0 ) rt = 0.0f;
 - 
 -       fslider0 = 1 + rt * 5;
 -     }
 - 
 -     void dryWet(float dw)
 -     {
 -       if( dw > 1.0 ) dw = 1.0f;
 -       if( dw < 0.0 ) dw = 0.0f;
 -       _dryWet = dw;
 -     }
 - 
 -     void process (int count, const float** input, float** output)
 -     {
 -       float 	fSlow0 = fslider0;
 -       float 	fSlow1 = expf((fConst2 / fSlow0));
 -       float 	fSlow2 = faustpower<2>(fSlow1);
 -       float 	fSlow3 = (1.0f - fSlow2);
 -       float 	fSlow4 = cosf((fConst3 * fslider1));
 -       float 	fSlow5 = (1.0f - (fSlow4 * fSlow2));
 -       float 	fSlow6 = sqrtf(max(0.f, ((faustpower<2>(fSlow5) / faustpower<2>(fSlow3)) - 1.0f)));
 -       float 	fSlow7 = (fSlow5 / fSlow3);
 -       float 	fSlow8 = (fSlow7 - fSlow6);
 -       float 	fSlow9 = (fSlow0 - 0.5f);
 -       float 	fSlow10 = ((expf((fConst2 / fSlow9)) / fSlow1) - 1);
 -       float 	fSlow11 = (fSlow1 * ((1.0f + fSlow6) - fSlow7));
 -       float 	fSlow12 = expf((fConst12 / fSlow0));
 -       float 	fSlow13 = faustpower<2>(fSlow12);
 -       float 	fSlow14 = (1.0f - fSlow13);
 -       float 	fSlow15 = (1.0f - (fSlow4 * fSlow13));
 -       float 	fSlow16 = sqrtf(max(0.f, ((faustpower<2>(fSlow15) / faustpower<2>(fSlow14)) - 1.0f)));
 -       float 	fSlow17 = (fSlow15 / fSlow14);
 -       float 	fSlow18 = (fSlow17 - fSlow16);
 -       float 	fSlow19 = ((expf((fConst12 / fSlow9)) / fSlow12) - 1);
 -       float 	fSlow20 = (fSlow12 * ((1.0f + fSlow16) - fSlow17));
 -       float 	fSlow21 = expf((fConst17 / fSlow0));
 -       float 	fSlow22 = faustpower<2>(fSlow21);
 -       float 	fSlow23 = (1.0f - fSlow22);
 -       float 	fSlow24 = (1.0f - (fSlow4 * fSlow22));
 -       float 	fSlow25 = sqrtf(max(0.f, ((faustpower<2>(fSlow24) / faustpower<2>(fSlow23)) - 1.0f)));
 -       float 	fSlow26 = (fSlow24 / fSlow23);
 -       float 	fSlow27 = (fSlow26 - fSlow25);
 -       float 	fSlow28 = ((expf((fConst17 / fSlow9)) / fSlow21) - 1);
 -       float 	fSlow29 = (fSlow21 * ((1.0f + fSlow25) - fSlow26));
 -       float 	fSlow30 = expf((fConst22 / fSlow0));
 -       float 	fSlow31 = faustpower<2>(fSlow30);
 -       float 	fSlow32 = (1.0f - fSlow31);
 -       float 	fSlow33 = (1.0f - (fSlow4 * fSlow31));
 -       float 	fSlow34 = sqrtf(max(0.f, ((faustpower<2>(fSlow33) / faustpower<2>(fSlow32)) - 1.0f)));
 -       float 	fSlow35 = (fSlow33 / fSlow32);
 -       float 	fSlow36 = (fSlow35 - fSlow34);
 -       float 	fSlow37 = ((expf((fConst22 / fSlow9)) / fSlow30) - 1);
 -       float 	fSlow38 = (fSlow30 * ((1.0f + fSlow34) - fSlow35));
 -       float 	fSlow39 = expf((fConst27 / fSlow0));
 -       float 	fSlow40 = faustpower<2>(fSlow39);
 -       float 	fSlow41 = (1.0f - fSlow40);
 -       float 	fSlow42 = (1.0f - (fSlow4 * fSlow40));
 -       float 	fSlow43 = sqrtf(max(0.f, ((faustpower<2>(fSlow42) / faustpower<2>(fSlow41)) - 1.0f)));
 -       float 	fSlow44 = (fSlow42 / fSlow41);
 -       float 	fSlow45 = (fSlow44 - fSlow43);
 -       float 	fSlow46 = ((expf((fConst27 / fSlow9)) / fSlow39) - 1);
 -       float 	fSlow47 = (fSlow39 * ((1.0f + fSlow43) - fSlow44));
 -       float 	fSlow48 = expf((fConst32 / fSlow0));
 -       float 	fSlow49 = faustpower<2>(fSlow48);
 -       float 	fSlow50 = (1.0f - fSlow49);
 -       float 	fSlow51 = (1.0f - (fSlow4 * fSlow49));
 -       float 	fSlow52 = sqrtf(max(0.f, ((faustpower<2>(fSlow51) / faustpower<2>(fSlow50)) - 1.0f)));
 -       float 	fSlow53 = (fSlow51 / fSlow50);
 -       float 	fSlow54 = (fSlow53 - fSlow52);
 -       float 	fSlow55 = ((expf((fConst32 / fSlow9)) / fSlow48) - 1);
 -       float 	fSlow56 = (fSlow48 * ((1.0f + fSlow52) - fSlow53));
 -       float 	fSlow57 = expf((fConst37 / fSlow0));
 -       float 	fSlow58 = faustpower<2>(fSlow57);
 -       float 	fSlow59 = (1.0f - fSlow58);
 -       float 	fSlow60 = (1.0f - (fSlow4 * fSlow58));
 -       float 	fSlow61 = sqrtf(max(0.f, ((faustpower<2>(fSlow60) / faustpower<2>(fSlow59)) - 1.0f)));
 -       float 	fSlow62 = (fSlow60 / fSlow59);
 -       float 	fSlow63 = (fSlow62 - fSlow61);
 -       float 	fSlow64 = ((expf((fConst37 / fSlow9)) / fSlow57) - 1);
 -       float 	fSlow65 = (fSlow57 * ((1.0f + fSlow61) - fSlow62));
 -       float 	fSlow66 = expf((fConst42 / fSlow0));
 -       float 	fSlow67 = faustpower<2>(fSlow66);
 -       float 	fSlow68 = (1.0f - fSlow67);
 -       float 	fSlow69 = (1.0f - (fSlow67 * fSlow4));
 -       float 	fSlow70 = sqrtf(max(0.f, ((faustpower<2>(fSlow69) / faustpower<2>(fSlow68)) - 1.0f)));
 -       float 	fSlow71 = (fSlow69 / fSlow68);
 -       float 	fSlow72 = (fSlow71 - fSlow70);
 -       float 	fSlow73 = ((expf((fConst42 / fSlow9)) / fSlow66) - 1);
 -       float 	fSlow74 = (fSlow66 * ((1.0f + fSlow70) - fSlow71));
 -       const float* input0 = input[0];
 -       const float* input1 = input[1];
 -       float* output0 = output[0];
 -       float* output1 = output[1];
 -       for (int i=0; i<count; i++) {
 -         fRec11[0] = ((fConst7 * (fRec4[1] + fRec4[2])) + (fConst6 * fRec11[1]));
 -         fRec10[0] = ((fSlow11 * (fRec4[1] + (fSlow10 * fRec11[0]))) + (fSlow8 * fRec10[1]));
 -         fVec0[IOTA&8191] = (1e-20f + (0.35355339059327373f * fRec10[0]));
 -         float fTemp0 = (0.3f * (float)input0[i]);
 -         float fTemp1 = ((fTemp0 + fVec0[(IOTA-iConst9)&8191]) - (0.6f * fRec8[1]));
 -         fVec1[IOTA&2047] = fTemp1;
 -         fRec8[0] = fVec1[(IOTA-iConst10)&2047];
 -         float 	fRec9 = (0.6f * fVec1[IOTA&2047]);
 -         fRec15[0] = ((fConst7 * (fRec0[1] + fRec0[2])) + (fConst6 * fRec15[1]));
 -         fRec14[0] = ((fSlow20 * (fRec0[1] + (fSlow19 * fRec15[0]))) + (fSlow18 * fRec14[1]));
 -         fVec2[IOTA&8191] = (1e-20f + (0.35355339059327373f * fRec14[0]));
 -         float fTemp2 = ((fTemp0 + fVec2[(IOTA-iConst14)&8191]) - (0.6f * fRec12[1]));
 -         fVec3[IOTA&1023] = fTemp2;
 -         fRec12[0] = fVec3[(IOTA-iConst15)&1023];
 -         float 	fRec13 = (0.6f * fVec3[IOTA&1023]);
 -         float fTemp3 = (fRec13 + fRec9);
 -         fRec19[0] = ((fConst7 * (fRec2[1] + fRec2[2])) + (fConst6 * fRec19[1]));
 -         fRec18[0] = ((fSlow29 * (fRec2[1] + (fSlow28 * fRec19[0]))) + (fSlow27 * fRec18[1]));
 -         fVec4[IOTA&8191] = (1e-20f + (0.35355339059327373f * fRec18[0]));
 -         float fTemp4 = (fVec4[(IOTA-iConst19)&8191] - (fTemp0 + (0.6f * fRec16[1])));
 -         fVec5[IOTA&2047] = fTemp4;
 -         fRec16[0] = fVec5[(IOTA-iConst20)&2047];
 -         float 	fRec17 = (0.6f * fVec5[IOTA&2047]);
 -         fRec23[0] = ((fConst7 * (fRec6[1] + fRec6[2])) + (fConst6 * fRec23[1]));
 -         fRec22[0] = ((fSlow38 * (fRec6[1] + (fSlow37 * fRec23[0]))) + (fSlow36 * fRec22[1]));
 -         fVec6[IOTA&8191] = (1e-20f + (0.35355339059327373f * fRec22[0]));
 -         float fTemp5 = (fVec6[(IOTA-iConst24)&8191] - (fTemp0 + (0.6f * fRec20[1])));
 -         fVec7[IOTA&1023] = fTemp5;
 -         fRec20[0] = fVec7[(IOTA-iConst25)&1023];
 -         float 	fRec21 = (0.6f * fVec7[IOTA&1023]);
 -         float fTemp6 = (fRec21 + (fRec17 + fTemp3));
 -         fRec27[0] = ((fConst7 * (fRec1[1] + fRec1[2])) + (fConst6 * fRec27[1]));
 -         fRec26[0] = ((fSlow47 * (fRec1[1] + (fSlow46 * fRec27[0]))) + (fSlow45 * fRec26[1]));
 -         fVec8[IOTA&16383] = (1e-20f + (0.35355339059327373f * fRec26[0]));
 -         float fTemp7 = (0.3f * (float)input1[i]);
 -         float fTemp8 = ((fTemp7 + fVec8[(IOTA-iConst29)&16383]) + (0.6f * fRec24[1]));
 -         fVec9[IOTA&2047] = fTemp8;
 -         fRec24[0] = fVec9[(IOTA-iConst30)&2047];
 -         float 	fRec25 = (0 - (0.6f * fVec9[IOTA&2047]));
 -         fRec31[0] = ((fConst7 * (fRec5[1] + fRec5[2])) + (fConst6 * fRec31[1]));
 -         fRec30[0] = ((fSlow56 * (fRec5[1] + (fSlow55 * fRec31[0]))) + (fSlow54 * fRec30[1]));
 -         fVec10[IOTA&8191] = (1e-20f + (0.35355339059327373f * fRec30[0]));
 -         float fTemp9 = ((fTemp7 + fVec10[(IOTA-iConst34)&8191]) + (0.6f * fRec28[1]));
 -         fVec11[IOTA&2047] = fTemp9;
 -         fRec28[0] = fVec11[(IOTA-iConst35)&2047];
 -         float 	fRec29 = (0 - (0.6f * fVec11[IOTA&2047]));
 -         fRec35[0] = ((fConst7 * (fRec3[1] + fRec3[2])) + (fConst6 * fRec35[1]));
 -         fRec34[0] = ((fSlow65 * (fRec3[1] + (fSlow64 * fRec35[0]))) + (fSlow63 * fRec34[1]));
 -         fVec12[IOTA&16383] = (1e-20f + (0.35355339059327373f * fRec34[0]));
 -         float fTemp10 = ((fVec12[(IOTA-iConst39)&16383] + (0.6f * fRec32[1])) - fTemp7);
 -         fVec13[IOTA&2047] = fTemp10;
 -         fRec32[0] = fVec13[(IOTA-iConst40)&2047];
 -         float 	fRec33 = (0 - (0.6f * fVec13[IOTA&2047]));
 -         fRec39[0] = ((fConst7 * (fRec7[1] + fRec7[2])) + (fConst6 * fRec39[1]));
 -         fRec38[0] = ((fSlow74 * (fRec7[1] + (fSlow73 * fRec39[0]))) + (fSlow72 * fRec38[1]));
 -         fVec14[IOTA&16383] = (1e-20f + (0.35355339059327373f * fRec38[0]));
 -         float fTemp11 = ((fVec14[(IOTA-iConst44)&16383] + (0.6f * fRec36[1])) - fTemp7);
 -         fVec15[IOTA&1023] = fTemp11;
 -         fRec36[0] = fVec15[(IOTA-iConst45)&1023];
 -         float 	fRec37 = (0 - (0.6f * fVec15[IOTA&1023]));
 -         fRec0[0] = (fRec12[1] + (fRec8[1] + (fRec16[1] + (fRec20[1] + (fRec24[1] + (fRec28[1] + (fRec32[1] + (fRec36[1] + (fRec37 + (fRec33 + (fRec29 + (fRec25 + fTemp6))))))))))));
 -         fRec1[0] = (0 - ((fRec24[1] + (fRec28[1] + (fRec32[1] + (fRec36[1] + (fRec37 + (fRec33 + (fRec25 + fRec29))))))) - (fRec12[1] + (fRec8[1] + (fRec16[1] + (fRec20[1] + fTemp6))))));
 -         float fTemp12 = (fRec17 + fRec21);
 -         fRec2[0] = (0 - ((fRec16[1] + (fRec20[1] + (fRec32[1] + (fRec36[1] + (fRec37 + (fRec33 + fTemp12)))))) - (fRec12[1] + (fRec8[1] + (fRec24[1] + (fRec28[1] + (fRec29 + (fRec25 + fTemp3))))))));
 -         fRec3[0] = (0 - ((fRec16[1] + (fRec20[1] + (fRec24[1] + (fRec28[1] + (fRec29 + (fRec25 + fTemp12)))))) - (fRec12[1] + (fRec8[1] + (fRec32[1] + (fRec36[1] + (fRec37 + (fRec33 + fTemp3))))))));
 -         float fTemp13 = (fRec13 + fRec17);
 -         float fTemp14 = (fRec9 + fRec21);
 -         fRec4[0] = (0 - ((fRec8[1] + (fRec20[1] + (fRec28[1] + (fRec36[1] + (fRec37 + (fRec29 + fTemp14)))))) - (fRec12[1] + (fRec16[1] + (fRec24[1] + (fRec32[1] + (fRec33 + (fRec25 + fTemp13))))))));
 -         fRec5[0] = (0 - ((fRec8[1] + (fRec20[1] + (fRec24[1] + (fRec32[1] + (fRec33 + (fRec25 + fTemp14)))))) - (fRec12[1] + (fRec16[1] + (fRec28[1] + (fRec36[1] + (fRec37 + (fRec29 + fTemp13))))))));
 -         float fTemp15 = (fRec13 + fRec21);
 -         float fTemp16 = (fRec9 + fRec17);
 -         fRec6[0] = (0 - ((fRec8[1] + (fRec16[1] + (fRec28[1] + (fRec32[1] + (fRec33 + (fRec29 + fTemp16)))))) - (fRec12[1] + (fRec20[1] + (fRec24[1] + (fRec36[1] + (fRec37 + (fRec25 + fTemp15))))))));
 -         fRec7[0] = (0 - ((fRec8[1] + (fRec16[1] + (fRec24[1] + (fRec36[1] + (fRec37 + (fRec25 + fTemp16)))))) - (fRec12[1] + (fRec20[1] + (fRec28[1] + (fRec32[1] + (fRec33 + (fRec29 + fTemp15))))))));
 - 
 - 
 -         float reverb0 = (float)(0.37f * (fRec1[0] + fRec2[0]));
 -         float reverb1 = (float)(0.37f * (fRec1[0] - fRec2[0]));
 - 
 -         output0[i] = (input0[i] * (1-_dryWet)) + (reverb0 * _dryWet );
 -         output1[i] = (input1[i] * (1-_dryWet)) + (reverb1 * _dryWet );
 - 
 -         // post processing
 -         fRec7[2] = fRec7[1]; fRec7[1] = fRec7[0];
 -         fRec6[2] = fRec6[1]; fRec6[1] = fRec6[0];
 -         fRec5[2] = fRec5[1]; fRec5[1] = fRec5[0];
 -         fRec4[2] = fRec4[1]; fRec4[1] = fRec4[0];
 -         fRec3[2] = fRec3[1]; fRec3[1] = fRec3[0];
 -         fRec2[2] = fRec2[1]; fRec2[1] = fRec2[0];
 -         fRec1[2] = fRec1[1]; fRec1[1] = fRec1[0];
 -         fRec0[2] = fRec0[1]; fRec0[1] = fRec0[0];
 -         fRec36[1] = fRec36[0];
 -         fRec38[1] = fRec38[0];
 -         fRec39[1] = fRec39[0];
 -         fRec32[1] = fRec32[0];
 -         fRec34[1] = fRec34[0];
 -         fRec35[1] = fRec35[0];
 -         fRec28[1] = fRec28[0];
 -         fRec30[1] = fRec30[0];
 -         fRec31[1] = fRec31[0];
 -         fRec24[1] = fRec24[0];
 -         fRec26[1] = fRec26[0];
 -         fRec27[1] = fRec27[0];
 -         fRec20[1] = fRec20[0];
 -         fRec22[1] = fRec22[0];
 -         fRec23[1] = fRec23[0];
 -         fRec16[1] = fRec16[0];
 -         fRec18[1] = fRec18[0];
 -         fRec19[1] = fRec19[0];
 -         fRec12[1] = fRec12[0];
 -         fRec14[1] = fRec14[0];
 -         fRec15[1] = fRec15[0];
 -         fRec8[1] = fRec8[0];
 -         IOTA = IOTA+1;
 -         fRec10[1] = fRec10[0];
 -         fRec11[1] = fRec11[0];
 -       }
 -     }
 - 
 -   private:
 -     float _dryWet;
 -     float fslider0;
 -     int iConst0;
 -     float fConst1;
 -     float fConst2;
 -     float fslider1;
 -     float fConst3;
 -     float fConst4;
 -     float fConst5;
 -     float fConst6;
 -     float fConst7;
 -     float fRec11[2];
 -     float fRec10[2];
 -     int   IOTA;
 -     float fVec0[8192];
 -     float fConst8;
 -     int iConst9;
 -     float fVec1[2048];
 -     int iConst10;
 -     float fRec8[2];
 -     float fConst11;
 -     float fConst12;
 -     float fRec15[2];
 -     float fRec14[2];
 -     float fVec2[8192];
 -     float fConst13;
 -     int iConst14;
 -     float fVec3[1024];
 -     int iConst15;
 -     float fRec12[2];
 -     float fConst16;
 -     float fConst17;
 -     float fRec19[2];
 -     float fRec18[2];
 -     float fVec4[8192];
 -     float fConst18;
 -     int iConst19;
 -     float fVec5[2048];
 -     int iConst20;
 -     float fRec16[2];
 -     float fConst21;
 -     float fConst22;
 -     float fRec23[2];
 -     float fRec22[2];
 -     float fVec6[8192];
 -     float fConst23;
 -     int iConst24;
 -     float fVec7[1024];
 -     int iConst25;
 -     float fRec20[2];
 -     float fConst26;
 -     float fConst27;
 -     float fRec27[2];
 -     float fRec26[2];
 -     float fVec8[16384];
 -     float fConst28;
 -     int iConst29;
 -     float fVec9[2048];
 -     int iConst30;
 -     float fRec24[2];
 -     float fConst31;
 -     float fConst32;
 -     float fRec31[2];
 -     float fRec30[2];
 -     float fVec10[8192];
 -     float fConst33;
 -     int iConst34;
 -     float fVec11[2048];
 -     int iConst35;
 -     float fRec28[2];
 -     float fConst36;
 -     float fConst37;
 -     float fRec35[2];
 -     float fRec34[2];
 -     float fVec12[16384];
 -     float fConst38;
 -     int iConst39;
 -     float fVec13[2048];
 -     int iConst40;
 -     float fRec32[2];
 -     float fConst41;
 -     float fConst42;
 -     float fRec39[2];
 -     float fRec38[2];
 -     float fVec14[16384];
 -     float fConst43;
 -     int iConst44;
 -     float fVec15[1024];
 -     int iConst45;
 -     float fRec36[2];
 -     float fRec0[3];
 -     float fRec1[3];
 -     float fRec2[3];
 -     float fRec3[3];
 -     float fRec4[3];
 -     float fRec5[3];
 -     float fRec6[3];
 -     float fRec7[3];
 - 
 -     /// Long nasty function setting initial values
 -     void init(int samplingFreq)
 -     {
 -       fslider0 = 3.0f;
 -       iConst0 = min(192000, max(1, samplingFreq));
 -       fConst1 = floorf((0.5f + (0.174713f * iConst0)));
 -       fConst2 = ((0 - (6.907755278982138f * fConst1)) / iConst0);
 -       fslider1 = 6e+03f;
 -       fConst3 = (6.283185307179586f / float(iConst0));
 -       fConst4 = (1.0f / tanf((1256.6370614359173f / iConst0)));
 -       fConst5 = (1 + fConst4);
 -       fConst6 = (0 - ((1 - fConst4) / fConst5));
 -       fConst7 = (1.0f / fConst5);
 -       for (int i=0; i<2; i++) fRec11[i] = 0;
 -       for (int i=0; i<2; i++) fRec10[i] = 0;
 -       IOTA = 0;
 -       for (int i=0; i<8192; i++) fVec0[i] = 0;
 -       fConst8 = floorf((0.5f + (0.022904f * iConst0)));
 -       iConst9 = int((int((fConst1 - fConst8)) & 8191));
 -       for (int i=0; i<2048; i++) fVec1[i] = 0;
 -       iConst10 = int((int((fConst8 - 1)) & 2047));
 -       for (int i=0; i<2; i++) fRec8[i] = 0;
 -       fConst11 = floorf((0.5f + (0.153129f * iConst0)));
 -       fConst12 = ((0 - (6.907755278982138f * fConst11)) / iConst0);
 -       for (int i=0; i<2; i++) fRec15[i] = 0;
 -       for (int i=0; i<2; i++) fRec14[i] = 0;
 -       for (int i=0; i<8192; i++) fVec2[i] = 0;
 -       fConst13 = floorf((0.5f + (0.020346f * iConst0)));
 -       iConst14 = int((int((fConst11 - fConst13)) & 8191));
 -       for (int i=0; i<1024; i++) fVec3[i] = 0;
 -       iConst15 = int((int((fConst13 - 1)) & 1023));
 -       for (int i=0; i<2; i++) fRec12[i] = 0;
 -       fConst16 = floorf((0.5f + (0.127837f * iConst0)));
 -       fConst17 = ((0 - (6.907755278982138f * fConst16)) / iConst0);
 -       for (int i=0; i<2; i++) fRec19[i] = 0;
 -       for (int i=0; i<2; i++) fRec18[i] = 0;
 -       for (int i=0; i<8192; i++) fVec4[i] = 0;
 -       fConst18 = floorf((0.5f + (0.031604f * iConst0)));
 -       iConst19 = int((int((fConst16 - fConst18)) & 8191));
 -       for (int i=0; i<2048; i++) fVec5[i] = 0;
 -       iConst20 = int((int((fConst18 - 1)) & 2047));
 -       for (int i=0; i<2; i++) fRec16[i] = 0;
 -       fConst21 = floorf((0.5f + (0.125f * iConst0)));
 -       fConst22 = ((0 - (6.907755278982138f * fConst21)) / iConst0);
 -       for (int i=0; i<2; i++) fRec23[i] = 0;
 -       for (int i=0; i<2; i++) fRec22[i] = 0;
 -       for (int i=0; i<8192; i++) fVec6[i] = 0;
 -       fConst23 = floorf((0.5f + (0.013458f * iConst0)));
 -       iConst24 = int((int((fConst21 - fConst23)) & 8191));
 -       for (int i=0; i<1024; i++) fVec7[i] = 0;
 -       iConst25 = int((int((fConst23 - 1)) & 1023));
 -       for (int i=0; i<2; i++) fRec20[i] = 0;
 -       fConst26 = floorf((0.5f + (0.210389f * iConst0)));
 -       fConst27 = ((0 - (6.907755278982138f * fConst26)) / iConst0);
 -       for (int i=0; i<2; i++) fRec27[i] = 0;
 -       for (int i=0; i<2; i++) fRec26[i] = 0;
 -       for (int i=0; i<16384; i++) fVec8[i] = 0;
 -       fConst28 = floorf((0.5f + (0.024421f * iConst0)));
 -       iConst29 = int((int((fConst26 - fConst28)) & 16383));
 -       for (int i=0; i<2048; i++) fVec9[i] = 0;
 -       iConst30 = int((int((fConst28 - 1)) & 2047));
 -       for (int i=0; i<2; i++) fRec24[i] = 0;
 -       fConst31 = floorf((0.5f + (0.192303f * iConst0)));
 -       fConst32 = ((0 - (6.907755278982138f * fConst31)) / iConst0);
 -       for (int i=0; i<2; i++) fRec31[i] = 0;
 -       for (int i=0; i<2; i++) fRec30[i] = 0;
 -       for (int i=0; i<8192; i++) fVec10[i] = 0;
 -       fConst33 = floorf((0.5f + (0.029291f * iConst0)));
 -       iConst34 = int((int((fConst31 - fConst33)) & 8191));
 -       for (int i=0; i<2048; i++) fVec11[i] = 0;
 -       iConst35 = int((int((fConst33 - 1)) & 2047));
 -       for (int i=0; i<2; i++) fRec28[i] = 0;
 -       fConst36 = floorf((0.5f + (0.256891f * iConst0)));
 -       fConst37 = ((0 - (6.907755278982138f * fConst36)) / iConst0);
 -       for (int i=0; i<2; i++) fRec35[i] = 0;
 -       for (int i=0; i<2; i++) fRec34[i] = 0;
 -       for (int i=0; i<16384; i++) fVec12[i] = 0;
 -       fConst38 = floorf((0.5f + (0.027333f * iConst0)));
 -       iConst39 = int((int((fConst36 - fConst38)) & 16383));
 -       for (int i=0; i<2048; i++) fVec13[i] = 0;
 -       iConst40 = int((int((fConst38 - 1)) & 2047));
 -       for (int i=0; i<2; i++) fRec32[i] = 0;
 -       fConst41 = floorf((0.5f + (0.219991f * iConst0)));
 -       fConst42 = ((0 - (6.907755278982138f * fConst41)) / iConst0);
 -       for (int i=0; i<2; i++) fRec39[i] = 0;
 -       for (int i=0; i<2; i++) fRec38[i] = 0;
 -       for (int i=0; i<16384; i++) fVec14[i] = 0;
 -       fConst43 = floorf((0.5f + (0.019123f * iConst0)));
 -       iConst44 = int((int((fConst41 - fConst43)) & 16383));
 -       for (int i=0; i<1024; i++) fVec15[i] = 0;
 -       iConst45 = int((int((fConst43 - 1)) & 1023));
 -       for (int i=0; i<2; i++) fRec36[i] = 0;
 -       for (int i=0; i<3; i++) fRec0[i] = 0;
 -       for (int i=0; i<3; i++) fRec1[i] = 0;
 -       for (int i=0; i<3; i++) fRec2[i] = 0;
 -       for (int i=0; i<3; i++) fRec3[i] = 0;
 -       for (int i=0; i<3; i++) fRec4[i] = 0;
 -       for (int i=0; i<3; i++) fRec5[i] = 0;
 -       for (int i=0; i<3; i++) fRec6[i] = 0;
 -       for (int i=0; i<3; i++) fRec7[i] = 0;
 -     }
 - };
 - 
 - #endif // OPENAV_DSP_REVERB_H
 
 
  |