From 33dd6d603830640766aa1a5fe70137c856e2c145 Mon Sep 17 00:00:00 2001 From: musil Date: Thu, 6 Sep 2012 15:54:46 +0000 Subject: other variable names, t_float to t_sample change, array access 64 bit svn path=/trunk/externals/iemlib/; revision=16193 --- iemlib1/src/vcf_filter~.c | 174 +++++++++++++++++++++++----------------------- 1 file changed, 87 insertions(+), 87 deletions(-) (limited to 'iemlib1/src/vcf_filter~.c') diff --git a/iemlib1/src/vcf_filter~.c b/iemlib1/src/vcf_filter~.c index 7caa68d..3771ecc 100644 --- a/iemlib1/src/vcf_filter~.c +++ b/iemlib1/src/vcf_filter~.c @@ -13,8 +13,8 @@ iemlib1 written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2006 typedef struct _vcf_filter_tilde { t_object x_obj; - t_float x_wn1; - t_float x_wn2; + t_sample x_wn1; + t_sample x_wn2; t_float x_float_sig_in1; char x_filtname[6]; } t_vcf_filter_tilde; @@ -23,8 +23,8 @@ static t_class *vcf_filter_tilde_class; static t_int *vcf_filter_tilde_perform_snafu(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_float *out = (t_float *)(w[4]); + t_sample *in = (t_sample *)(w[1]); + t_sample *out = (t_sample *)(w[4]); int n = (t_int)(w[6]); while(n--) @@ -61,52 +61,52 @@ wn1 = wn0; static t_int *vcf_filter_tilde_perform_lp2(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_float *lp = (t_float *)(w[2]); - t_float *q = (t_float *)(w[3]); - t_float *out = (t_float *)(w[4]); + t_sample *in = (t_sample *)(w[1]); + t_sample *lp = (t_sample *)(w[2]); + t_sample *q = (t_sample *)(w[3]); + t_sample *out = (t_sample *)(w[4]); t_vcf_filter_tilde *x = (t_vcf_filter_tilde *)(w[5]); int i, n = (t_int)(w[6]); - t_float wn0, wn1=x->x_wn1, wn2=x->x_wn2; - t_float l, al, l2, rcp; + t_sample wn0, wn1=x->x_wn1, wn2=x->x_wn2; + t_sample l, al, l2, rcp; for(i=0; i 1000000.0f) - al = 0.000001f*l; + if(q[i] < 0.000001) + al = 1000000.0*l; + else if(q[i] > 1000000.0) + al = 0.000001*l; else al = l/q[i]; - l2 = l*l + 1.0f; - rcp = 1.0f/(al + l2); + l2 = l*l + 1.0; + rcp = 1.0/(al + l2); - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = rcp*(wn0 + 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = rcp*(wn0 + 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = rcp*(wn0 + 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = rcp*(wn0 + 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = rcp*(wn0 + 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = rcp*(wn0 + 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = rcp*(wn0 + 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = rcp*(wn0 + 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; } /* NAN protect */ if(IEM_DENORMAL(wn2)) - wn2 = 0.0f; + wn2 = 0.0; if(IEM_DENORMAL(wn1)) - wn1 = 0.0f; + wn1 = 0.0; x->x_wn1 = wn1; x->x_wn2 = wn2; @@ -115,53 +115,53 @@ static t_int *vcf_filter_tilde_perform_lp2(t_int *w) static t_int *vcf_filter_tilde_perform_bp2(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_float *lp = (t_float *)(w[2]); - t_float *q = (t_float *)(w[3]); - t_float *out = (t_float *)(w[4]); + t_sample *in = (t_sample *)(w[1]); + t_sample *lp = (t_sample *)(w[2]); + t_sample *q = (t_sample *)(w[3]); + t_sample *out = (t_sample *)(w[4]); t_vcf_filter_tilde *x = (t_vcf_filter_tilde *)(w[5]); int i, n = (t_int)(w[6]); - t_float wn0, wn1=x->x_wn1, wn2=x->x_wn2; - t_float l, al, l2, rcp; + t_sample wn0, wn1=x->x_wn1, wn2=x->x_wn2; + t_sample l, al, l2, rcp; for(i=0; i 1000000.0f) - al = 0.000001f*l; + if(q[i] < 0.000001) + al = 1000000.0*l; + else if(q[i] > 1000000.0) + al = 0.000001*l; else al = l/q[i]; - l2 = l*l + 1.0f; - rcp = 1.0f/(al + l2); + l2 = l*l + 1.0; + rcp = 1.0/(al + l2); - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*al*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*al*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*al*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*al*(wn0 - wn2); wn2 = wn1; wn1 = wn0; } /* NAN protect */ if(IEM_DENORMAL(wn2)) - wn2 = 0.0f; + wn2 = 0.0; if(IEM_DENORMAL(wn1)) - wn1 = 0.0f; + wn1 = 0.0; x->x_wn1 = wn1; x->x_wn2 = wn2; @@ -170,53 +170,53 @@ static t_int *vcf_filter_tilde_perform_bp2(t_int *w) static t_int *vcf_filter_tilde_perform_rbp2(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_float *lp = (t_float *)(w[2]); - t_float *q = (t_float *)(w[3]); - t_float *out = (t_float *)(w[4]); + t_sample *in = (t_sample *)(w[1]); + t_sample *lp = (t_sample *)(w[2]); + t_sample *q = (t_sample *)(w[3]); + t_sample *out = (t_sample *)(w[4]); t_vcf_filter_tilde *x = (t_vcf_filter_tilde *)(w[5]); int i, n = (t_int)(w[6]); - t_float wn0, wn1=x->x_wn1, wn2=x->x_wn2; - t_float al, l, l2, rcp; + t_sample wn0, wn1=x->x_wn1, wn2=x->x_wn2; + t_sample al, l, l2, rcp; for(i=0; i 1000000.0f) - al = 0.000001f*l; + if(q[i] < 0.000001) + al = 1000000.0*l; + else if(q[i] > 1000000.0) + al = 0.000001*l; else al = l/q[i]; - l2 = l*l + 1.0f; - rcp = 1.0f/(al + l2); + l2 = l*l + 1.0; + rcp = 1.0/(al + l2); - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*l*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*l*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*l*(wn0 - wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); *out++ = rcp*l*(wn0 - wn2); wn2 = wn1; wn1 = wn0; } /* NAN protect */ if(IEM_DENORMAL(wn2)) - wn2 = 0.0f; + wn2 = 0.0; if(IEM_DENORMAL(wn1)) - wn1 = 0.0f; + wn1 = 0.0; x->x_wn1 = wn1; x->x_wn2 = wn2; @@ -225,53 +225,53 @@ static t_int *vcf_filter_tilde_perform_rbp2(t_int *w) static t_int *vcf_filter_tilde_perform_hp2(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_float *lp = (t_float *)(w[2]); - t_float *q = (t_float *)(w[3]); - t_float *out = (t_float *)(w[4]); + t_sample *in = (t_sample *)(w[1]); + t_sample *lp = (t_sample *)(w[2]); + t_sample *q = (t_sample *)(w[3]); + t_sample *out = (t_sample *)(w[4]); t_vcf_filter_tilde *x = (t_vcf_filter_tilde *)(w[5]); int i, n = (t_int)(w[6]); - t_float wn0, wn1=x->x_wn1, wn2=x->x_wn2; - t_float l, al, l2, rcp, forw; + t_sample wn0, wn1=x->x_wn1, wn2=x->x_wn2; + t_sample l, al, l2, rcp, forw; for(i=0; i 1000000.0f) - al = 0.000001f*l; + if(q[i] < 0.000001) + al = 1000000.0*l; + else if(q[i] > 1000000.0) + al = 0.000001*l; else al = l/q[i]; - l2 = l*l + 1.0f; - rcp = 1.0f/(al + l2); - forw = rcp * (l2 - 1.0f); + l2 = l*l + 1.0; + rcp = 1.0/(al + l2); + forw = rcp * (l2 - 1.0); - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = forw*(wn0 - 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = forw*(wn0 - 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = forw*(wn0 - 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = forw*(wn0 - 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = forw*(wn0 - 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = forw*(wn0 - 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; - wn0 = *in++ - rcp*(2.0f*(2.0f - l2)*wn1 + (l2 - al)*wn2); - *out++ = forw*(wn0 - 2.0f*wn1 + wn2); + wn0 = *in++ - rcp*(2.0*(2.0 - l2)*wn1 + (l2 - al)*wn2); + *out++ = forw*(wn0 - 2.0*wn1 + wn2); wn2 = wn1; wn1 = wn0; } /* NAN protect */ if(IEM_DENORMAL(wn2)) - wn2 = 0.0f; + wn2 = 0.0; if(IEM_DENORMAL(wn1)) - wn1 = 0.0f; + wn1 = 0.0; x->x_wn1 = wn1; x->x_wn2 = wn2; @@ -318,8 +318,8 @@ static void *vcf_filter_tilde_new(t_symbol *filt_typ) inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); outlet_new(&x->x_obj, &s_signal); x->x_float_sig_in1 = 0; - x->x_wn1 = 0.0f; - x->x_wn2 = 0.0f; + x->x_wn1 = 0.0; + x->x_wn2 = 0.0; c = (char *)filt_typ->s_name; c[5] = 0; strcpy(x->x_filtname, c); -- cgit v1.2.1