diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2009-01-13 18:00:10 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2009-01-13 18:00:10 +0000 |
commit | a30cbb586a36c7f3485b46e990ef485fd8a8da58 (patch) | |
tree | 4433c74dadef16eefbff56a756da2b47b8b66686 /src/bin_ambi_reduced_decode_fir2.c | |
parent | 524ba817b76fdd27c6833cc948d27aba18280332 (diff) |
hopefully made 64bit able
svn path=/trunk/externals/iem/iem_bin_ambi/; revision=10534
Diffstat (limited to 'src/bin_ambi_reduced_decode_fir2.c')
-rw-r--r-- | src/bin_ambi_reduced_decode_fir2.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/bin_ambi_reduced_decode_fir2.c b/src/bin_ambi_reduced_decode_fir2.c index 90b476d..8ee3de5 100644 --- a/src/bin_ambi_reduced_decode_fir2.c +++ b/src/bin_ambi_reduced_decode_fir2.c @@ -51,9 +51,9 @@ typedef struct _bin_ambi_reduced_decode_fir2 int *x_phi; int *x_phi_sym; int *x_sym_flag; - t_float *x_beg_fade_out_hrir; - t_float *x_beg_hrir; - t_float **x_beg_hrir_red; + iemarray_t *x_beg_fade_out_hrir; + t_float *x_beg_hrir; + iemarray_t **x_beg_hrir_red; t_symbol **x_hrir_filename; t_symbol **x_s_hrir; t_symbol **x_s_hrir_red; @@ -624,12 +624,12 @@ static void bin_ambi_reduced_decode_fir2_calc_pinv(t_bin_ambi_reduced_decode_fir { t_garray *a; int npoints; - t_float *fadevec; + iemarray_t *fadevec; int i, n; double *dv3=x->x_prod3; double *dv2=x->x_prod2; - if((int)(x->x_beg_fade_out_hrir) == 0) + if(x->x_beg_fade_out_hrir == 0) { if (!(a = (t_garray *)pd_findbyclass(x->x_s_fade_out_hrir, garray_class))) error("%s: no such array", x->x_s_fade_out_hrir->s_name); @@ -723,7 +723,8 @@ static void bin_ambi_reduced_decode_fir2_check_HRIR_arrays(t_bin_ambi_reduced_de t_garray *a; int npoints; t_symbol *hrir; - t_float *vec_hrir, *vec, *vec_fade_out_hrir; + t_float *vec; + iemarray_t *vec_hrir, *vec_fade_out_hrir; t_float decr, sum; if(index < 0) @@ -745,11 +746,11 @@ static void bin_ambi_reduced_decode_fir2_check_HRIR_arrays(t_bin_ambi_reduced_de vec = x->x_beg_hrir; vec += index * firsize; - if((int)(x->x_beg_fade_out_hrir)) + if(x->x_beg_fade_out_hrir) { vec_fade_out_hrir = x->x_beg_fade_out_hrir; for(j=0; j<firsize; j++) - vec[j] = vec_hrir[j]*vec_fade_out_hrir[j]; + vec[j] = iemarray_getfloat(vec_hrir,j)*iemarray_getfloat(vec_fade_out_hrir,j); } else { @@ -757,13 +758,13 @@ static void bin_ambi_reduced_decode_fir2_check_HRIR_arrays(t_bin_ambi_reduced_de n = firsize * 3; n /= 4; for(j=0; j<n; j++) - vec[j] = vec_hrir[j]; + vec[j] = iemarray_getfloat(vec_hrir,j); sum = 1.0f; decr = 4.0f / (t_float)firsize; for(j=n, k=0; j<firsize; j++, k++) { sum -= decr; - vec[j] = vec_hrir[j] * sum; + vec[j] = iemarray_getfloat(vec_hrir,j) * sum; } } } @@ -775,7 +776,7 @@ static void bin_ambi_reduced_decode_fir2_check_HRIR_RED_arrays(t_bin_ambi_reduce t_garray *a; int npoints; int firsize = x->x_firsize; - t_float *vec_hrir_red; + iemarray_t *vec_hrir_red; t_symbol *hrir_red; if(index < 0) @@ -802,7 +803,8 @@ static void bin_ambi_reduced_decode_fir2_calc_reduced(t_bin_ambi_reduced_decode_ int index=(int)findex - 1; int i, j; int firsize = x->x_firsize; - t_float *vec_hrir, *vec_hrir_red; + t_float *vec_hrir; + iemarray_t*vec_hrir_red; double *dv; int n_ambi = x->x_n_ambi; int n_ls = x->x_n_real_ls; @@ -822,7 +824,7 @@ static void bin_ambi_reduced_decode_fir2_calc_reduced(t_bin_ambi_reduced_decode_ vec_hrir = x->x_beg_hrir; for(i=0; i<firsize; i++)/*first step of acumulating the HRIRs*/ { - vec_hrir_red[i] = mul * vec_hrir[i]; + iemarray_getfloat(vec_hrir_red,i) = mul * vec_hrir[i]; } for(j=1; j<n_ls; j++) @@ -834,7 +836,7 @@ static void bin_ambi_reduced_decode_fir2_calc_reduced(t_bin_ambi_reduced_decode_ for(i=0; i<firsize; i++) { - vec_hrir_red[i] += mul * vec_hrir[i]; + iemarray_getfloat(vec_hrir_red,i) += mul * vec_hrir[i]; } } } @@ -1185,9 +1187,9 @@ static void *bin_ambi_reduced_decode_fir2_new(t_symbol *s, int argc, t_atom *arg x->x_phi_sym = (int *)getbytes(x->x_n_real_ls * sizeof(int)); x->x_sym_flag = (int *)getbytes(x->x_n_real_ls * sizeof(int)); - x->x_beg_fade_out_hrir = (t_float *)0; - x->x_beg_hrir = (t_float *)getbytes(x->x_firsize * x->x_n_real_ls * sizeof(t_float)); - x->x_beg_hrir_red = (t_float **)getbytes(x->x_n_ambi * sizeof(t_float *)); + x->x_beg_fade_out_hrir = 0; + x->x_beg_hrir = (t_float *)getbytes(x->x_firsize * x->x_n_real_ls * sizeof(t_float)); + x->x_beg_hrir_red = (iemarray_t **)getbytes(x->x_n_ambi * sizeof(iemarray_t *)); x->x_sqrt3 = sqrt(3.0); x->x_sqrt5_2 = sqrt(5.0) / 2.0; |