aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormusil <tmusil@users.sourceforge.net>2011-11-16 15:52:04 +0000
committermusil <tmusil@users.sourceforge.net>2011-11-16 15:52:04 +0000
commit76573f4923ebe3391ffcb2d6555d1268210d0e21 (patch)
tree898a8df3927886843bd1a0049458e208568a8fbe
parent4886f9b6c59a303f468cf7e9adddaf8e1bedc317 (diff)
made it compatible to pd44 with double precision
svn path=/trunk/externals/iem/iem_tab/; revision=15767
-rw-r--r--src/iem_tab.h4
-rw-r--r--src/tab_fft.c3
-rw-r--r--src/tab_ifft.c7
-rw-r--r--src/tab_rfft.c23
-rw-r--r--src/tab_rifft.c13
5 files changed, 23 insertions, 27 deletions
diff --git a/src/iem_tab.h b/src/iem_tab.h
index 2b38f05..9f1de06 100644
--- a/src/iem_tab.h
+++ b/src/iem_tab.h
@@ -8,8 +8,8 @@ iem_tab written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2009
typedef struct
{
- float real;
- float imag;
+ t_float real;
+ t_float imag;
}
TAB_COMPLEX;
diff --git a/src/tab_fft.c b/src/tab_fft.c
index a8107d4..dd4f089 100644
--- a/src/tab_fft.c
+++ b/src/tab_fft.c
@@ -42,7 +42,7 @@ static void tab_fft_init(t_tab_fft *x)
t_float f, g;
TAB_COMPLEX *sincos = x->x_sin_cos;
- g = 2.0f * 3.1415926538f / (t_float)fftsize;
+ g = 2.0 * 3.141592653589793 / (t_float)fftsize;
for(i=0; i<fftsize; i++)
{
f = g * (t_float)i;
@@ -390,5 +390,4 @@ void tab_fft_setup(void)
class_addmethod(tab_fft_class, (t_method)tab_fft_dst_im, gensym("dst_im"), A_DEFSYMBOL, 0);
class_addmethod(tab_fft_class, (t_method)tab_fft_dst_re, gensym("dst1"), A_DEFSYMBOL, 0);
class_addmethod(tab_fft_class, (t_method)tab_fft_dst_im, gensym("dst2"), A_DEFSYMBOL, 0);
-// class_sethelpsymbol(tab_fft_class, gensym("iemhelp2/tab_fft-help"));
}
diff --git a/src/tab_ifft.c b/src/tab_ifft.c
index f3cd7fe..4df2a7e 100644
--- a/src/tab_ifft.c
+++ b/src/tab_ifft.c
@@ -42,7 +42,7 @@ static void tab_ifft_init(t_tab_ifft *x)
t_float f, g;
TAB_COMPLEX *sincos = x->x_sin_cos;
- g = 2.0f * 3.1415926538f / (t_float)fftsize;
+ g = 2.0 * 3.141592653589793 / (t_float)fftsize;
for(i=0; i<fftsize; i++)
{
f = g * (t_float)i;
@@ -187,7 +187,7 @@ static void tab_ifft_bang(t_tab_ifft *x)
}
*/
- g = 1.0f / (t_float)fftsize;
+ g = 1.0 / (t_float)fftsize;
for(i = 0; i < fftsize; i++)
{
iemarray_setfloat(vec_dst_re, i, iemarray_getfloat(vec_dst_re, i)*g);
@@ -318,7 +318,7 @@ static void tab_ifft_list(t_tab_ifft *x, t_symbol *s, int argc, t_atom *argv)
}
*/
- g = 1.0f / (t_float)fftsize;
+ g = 1.0 / (t_float)fftsize;
for(i = 0; i < fftsize; i++)
{
iemarray_setfloat(vec_dst_re, i, iemarray_getfloat(vec_dst_re, i)*g);
@@ -404,5 +404,4 @@ void tab_ifft_setup(void)
class_addmethod(tab_ifft_class, (t_method)tab_ifft_dst_im, gensym("dst_im"), A_DEFSYMBOL, 0);
class_addmethod(tab_ifft_class, (t_method)tab_ifft_dst_re, gensym("dst1"), A_DEFSYMBOL, 0);
class_addmethod(tab_ifft_class, (t_method)tab_ifft_dst_im, gensym("dst2"), A_DEFSYMBOL, 0);
-// class_sethelpsymbol(tab_ifft_class, gensym("iemhelp2/tab_ifft-help"));
}
diff --git a/src/tab_rfft.c b/src/tab_rfft.c
index 1a3608f..bb3a444 100644
--- a/src/tab_rfft.c
+++ b/src/tab_rfft.c
@@ -39,7 +39,7 @@ static void tab_rfft_init(t_tab_rfft *x)
t_float f, g;
TAB_COMPLEX *sincos = x->x_sin_cos;
- g = 2.0f * 3.1415926538f / (t_float)fftsize;
+ g = 2.0 * 3.141592653589793 / (t_float)fftsize;
for(i=0; i<fftsize; i++)
{
f = g * (t_float)i;
@@ -110,7 +110,7 @@ static void tab_rfft_bang(t_tab_rfft *x)
for(k=0; k<fftsize; k++)
{
iemarray_setfloat(vec_dst_re, k, iemarray_getfloat(vec_src, k));
- iemarray_setfloat(vec_dst_im, k, 0.0f);
+ iemarray_setfloat(vec_dst_im, k, 0.0);
}
i_inc = fs2;
@@ -176,12 +176,12 @@ static void tab_rfft_bang(t_tab_rfft *x)
}
*/
- iemarray_setfloat(vec_dst_im, 0, 0.0f);
- iemarray_setfloat(vec_dst_im, fs2, 0.0f);
+ iemarray_setfloat(vec_dst_im, 0, 0.0);
+ iemarray_setfloat(vec_dst_im, fs2, 0.0);
for(i = fs2+1; i < fftsize; i++)
{
- iemarray_setfloat(vec_dst_re, i, 0.0f);
- iemarray_setfloat(vec_dst_im, i, 0.0f);
+ iemarray_setfloat(vec_dst_re, i, 0.0);
+ iemarray_setfloat(vec_dst_im, i, 0.0);
}
outlet_bang(x->x_obj.ob_outlet);
@@ -236,7 +236,7 @@ static void tab_rfft_list(t_tab_rfft *x, t_symbol *s, int argc, t_atom *argv)
for(k=0; k<fftsize; k++)
{
iemarray_setfloat(vec_dst_re, k, iemarray_getfloat(vec_src, k));
- iemarray_setfloat(vec_dst_im, k, 0.0f);
+ iemarray_setfloat(vec_dst_im, k, 0.0);
}
i_inc = fs2;
@@ -302,12 +302,12 @@ static void tab_rfft_list(t_tab_rfft *x, t_symbol *s, int argc, t_atom *argv)
}
*/
- iemarray_setfloat(vec_dst_im, 0, 0.0f);
- iemarray_setfloat(vec_dst_im, fs2, 0.0f);
+ iemarray_setfloat(vec_dst_im, 0, 0.0);
+ iemarray_setfloat(vec_dst_im, fs2, 0.0);
for(i = fs2+1; i < fftsize; i++)
{
- iemarray_setfloat(vec_dst_re, i, 0.0f);
- iemarray_setfloat(vec_dst_im, i, 0.0f);
+ iemarray_setfloat(vec_dst_re, i, 0.0);
+ iemarray_setfloat(vec_dst_im, i, 0.0);
}
outlet_bang(x->x_obj.ob_outlet);
@@ -384,5 +384,4 @@ void tab_rfft_setup(void)
class_addmethod(tab_rfft_class, (t_method)tab_rfft_dst_im, gensym("dst_im"), A_DEFSYMBOL, 0);
class_addmethod(tab_rfft_class, (t_method)tab_rfft_dst_re, gensym("dst1"), A_DEFSYMBOL, 0);
class_addmethod(tab_rfft_class, (t_method)tab_rfft_dst_im, gensym("dst2"), A_DEFSYMBOL, 0);
-// class_sethelpsymbol(tab_rfft_class, gensym("iemhelp2/tab_rfft-help"));
}
diff --git a/src/tab_rifft.c b/src/tab_rifft.c
index eddf8ce..6125761 100644
--- a/src/tab_rifft.c
+++ b/src/tab_rifft.c
@@ -40,7 +40,7 @@ static void tab_rifft_init(t_tab_rifft *x)
t_float f, g;
TAB_COMPLEX *sincos = x->x_sin_cos;
- g = 2.0f * 3.1415926538f / (t_float)fftsize;
+ g = 2.0 * 3.141592653589793 / (t_float)fftsize;
for(i=0; i<fftsize; i++)
{
f = g * (t_float)i;
@@ -112,14 +112,14 @@ static void tab_rifft_bang(t_tab_rifft *x)
vec_dst_im=x->x_beg_mem_dst_im;
iemarray_setfloat(vec_dst_re, 0, iemarray_getfloat(vec_src_re, 0));
- iemarray_setfloat(vec_dst_im, 0, 0.0f);
+ iemarray_setfloat(vec_dst_im, 0, 0.0);
for(j=1; j<fs2; j++)
{
iemarray_setfloat(vec_dst_re, j, iemarray_getfloat(vec_src_re, j));
iemarray_setfloat(vec_dst_im, j, iemarray_getfloat(vec_src_im, j));
}
iemarray_setfloat(vec_dst_re, fs2, iemarray_getfloat(vec_src_re, fs2));
- iemarray_setfloat(vec_dst_im, fs2, 0.0f);
+ iemarray_setfloat(vec_dst_im, fs2, 0.0);
for(k=1, j=fftsize-1; k<fs2; k++, j--)
{
@@ -190,7 +190,7 @@ static void tab_rifft_bang(t_tab_rifft *x)
}
*/
- g = 1.0f / (t_float)fftsize;
+ g = 1.0 / (t_float)fftsize;
for(i = 0; i < fftsize; i++)
{
iemarray_setfloat(vec_dst_re, i, iemarray_getfloat(vec_dst_re, i)*g);
@@ -250,7 +250,7 @@ static void tab_rifft_list(t_tab_rifft *x, t_symbol *s, int argc, t_atom *argv)
iemarray_setfloat(vec_dst_im, j, iemarray_getfloat(vec_src_im, j));
}
iemarray_setfloat(vec_dst_re, fs2, iemarray_getfloat(vec_src_re, fs2));
- iemarray_setfloat(vec_dst_im, fs2, 0.0f);
+ iemarray_setfloat(vec_dst_im, fs2, 0.0);
for(k=1, j=fftsize-1; k<fs2; k++, j--)
{
iemarray_setfloat(vec_dst_re, j, iemarray_getfloat(vec_src_re, k));
@@ -320,7 +320,7 @@ static void tab_rifft_list(t_tab_rifft *x, t_symbol *s, int argc, t_atom *argv)
}
*/
- g = 1.0f / (t_float)fftsize;
+ g = 1.0 / (t_float)fftsize;
for(i = 0; i < fftsize; i++)
{
iemarray_setfloat(vec_dst_re, i, iemarray_getfloat(vec_dst_re, i)*g);
@@ -400,5 +400,4 @@ void tab_rifft_setup(void)
class_addmethod(tab_rifft_class, (t_method)tab_rifft_src_im, gensym("src2"), A_DEFSYMBOL, 0);
class_addmethod(tab_rifft_class, (t_method)tab_rifft_dst, gensym("dst"), A_DEFSYMBOL, 0);
class_addmethod(tab_rifft_class, (t_method)tab_rifft_dst, gensym("dst1"), A_DEFSYMBOL, 0);
-// class_sethelpsymbol(tab_rifft_class, gensym("iemhelp2/tab_rifft-help"));
}