summaryrefslogtreecommitdiff
path: root/src/c/signalProcessing/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/signalProcessing/interfaces')
-rw-r--r--src/c/signalProcessing/interfaces/int_cepstrum.h34
-rw-r--r--src/c/signalProcessing/interfaces/int_convol.h153
-rw-r--r--src/c/signalProcessing/interfaces/int_fft.h71
-rw-r--r--src/c/signalProcessing/interfaces/int_fftshift.h51
-rw-r--r--src/c/signalProcessing/interfaces/int_hilbert.h26
-rw-r--r--src/c/signalProcessing/interfaces/int_ifft.h52
-rw-r--r--src/c/signalProcessing/interfaces/int_lev.h53
-rw-r--r--src/c/signalProcessing/interfaces/int_levin.h60
-rw-r--r--src/c/signalProcessing/interfaces/int_lpc2cep.h27
-rw-r--r--src/c/signalProcessing/interfaces/int_xcorr.h176
10 files changed, 703 insertions, 0 deletions
diff --git a/src/c/signalProcessing/interfaces/int_cepstrum.h b/src/c/signalProcessing/interfaces/int_cepstrum.h
new file mode 100644
index 0000000..af1991b
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_cepstrum.h
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_CEPSTRUM_H__
+#define __INT_CEPSTRUM_H__
+
+#define s0cepstrums0(in) scepstrums(in)
+
+#define d0cepstrumd0(in) dcepstrums(in)
+
+#define c0cepstrumc0(in) ccepstrums(in)
+
+#define z0cepstrumz0(in) zcepstrums(in)
+
+#define s2cepstrums2(in,size,out) scepstruma(in, size[0]*size[1], out)
+
+#define d2cepstrumd2(in,size,out) dcepstruma(in, size[0]*size[1], out)
+
+#define c2cepstrumc2(in,size,out) ccepstruma(in, size[0]*size[1], out)
+
+#define z2cepstrumz2(in,size,out) zcepstruma(in, size[0]*size[1], out)
+
+#endif /* !__INT_CEPSTRUM_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_convol.h b/src/c/signalProcessing/interfaces/int_convol.h
new file mode 100644
index 0000000..80ec65b
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_convol.h
@@ -0,0 +1,153 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_CONVOL_H__
+#define __INT_CONVOL_H__
+
+
+/* Scalar - Scalar */
+
+#define s0s0convols0(in1,in2) in1*in2
+
+#define d0d0convold0(in1,in2) in1*in2
+
+#define c0c0convolc0(in1,in2) cmuls(in1,in2)
+
+#define z0z0convolz0(in1,in2) zmuls(in1,in2)
+
+#define s0c0convolc0(in1,in2) cmuls(FloatComplex(in1,0),in2)
+
+#define d0z0convolz0(in1,in2) zmuls(DoubleComplex(in1,0),in2)
+
+#define c0s0convolc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
+
+#define z0d0convolz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
+
+/* Scalar - Matrix */
+
+#define s0s2convols2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\
+ }
+
+#define d0d2convold2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\
+ }
+
+#define c0c2convolc2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,in2[i]);\
+ }
+
+#define z0z2convolz2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,in2[i]);\
+ }
+
+#define s0c2convolc2(in1,in2,size,out) c0c2convolc2(FloatComplex(in1,0),in2,size,out)
+
+#define d0z2convolz2(in1,in2,size,out) z0z2convolz2(DoubleComplex(in1,0),in2,size,out)
+
+#define c0s2convolc2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(in2[i],0));\
+ }
+
+#define z0d2convolz2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(in2[i],0));\
+ }
+
+/* Matrix - Scalar */
+
+#define s2s0convols2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define d2d0convold2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define c2c0convolc2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],in2);\
+ }
+
+#define z2z0convolz2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],in2);\
+ }
+
+#define s2c0convolc2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(FloatComplex(in1[i],0),in2);\
+ }
+
+#define d2z0convolz2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(DoubleComplex(in1[i],0),in2);\
+ }
+
+#define c2s0convolc2(in1,size,in2,out) c2c0convolc2(in1,size,FloatComplex(in2,0),out)
+
+#define z2d0convolz2(in1,size,in2,out) z2z0convolz2(in1,size,DoubleComplex(in2,0),out)
+
+
+/* Matrix - Matrix */
+
+#define s2s2convols2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
+ sconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
+ }else{\
+ sconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
+ }
+
+#define d2d2convold2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
+ dconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
+ }else{\
+ dconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
+ }
+
+#define c2c2convolc2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
+ cconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
+ }else{\
+ cconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
+ }
+
+#define z2z2convolz2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
+ zconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
+ }else{\
+ zconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
+ }
+
+#define s2c2convolc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ c2c2convolc2(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\
+ free(temp);\
+ }
+
+#define d2z2convolz2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ z2z2convolz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\
+ free(temp);\
+ }
+
+#define c2s2convolc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
+ sfilla(temp,size2[0],size2[1],0);\
+ c2c2convolc2(in1,size1,FloatComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\
+ free(temp);\
+ }
+
+
+#define z2d2convolz2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ dfilla(temp,size2[0],size2[1],0);\
+ z2z2convolz2(in1,size1,DoubleComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\
+ free(temp);\
+ }
+
+#endif /* !__INT_CONVOL_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_fft.h b/src/c/signalProcessing/interfaces/int_fft.h
new file mode 100644
index 0000000..ea2c69b
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_fft.h
@@ -0,0 +1,71 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_FFT_H__
+#define __INT_FFT_H__
+
+#define s0ffts0(in) sffts(in)
+
+#define d0fftd0(in) dffts(in)
+
+#define c0fftc0(in) cffts(in)
+
+#define z0fftz0(in) zffts(in)
+
+
+#define s2ffts2(in,size,out) sfftma(in, size[0], size[1], out)
+
+#define d2fftd2(in,size,out) dfftma(in, size[0], size[1], out)
+
+#define c2fftc2(in,size,out) cfftma(in, size[0], size[1], out)
+
+#define z2fftz2(in,size,out) zfftma(in, size[0], size[1], out)
+
+/* FIXME : malloc here */
+#define s2fftc2(in,size,out) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[1]*sizeof(float));\
+ szerosa(ZEROS,size[0],size[1]);\
+ cfftma(FloatComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
+ }
+/* FIXME : malloc here */
+#define d2fftz2(in,size,out) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[1]*sizeof(double));\
+ dzerosa(ZEROS,size[0],size[1]);\
+ zfftma(DoubleComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
+ }
+
+
+
+#define s0s0ffts0(in1,in2) (in2==-1.0f) ? s0ffts0(in1) : s0iffts0(in1)
+
+#define d0d0fftd0(in1,in2) (in2==-1.0) ? d0fftd0(in1) : d0ifftd0(in1)
+
+#define c0s0fftc0(in1,in2) (in2==-1.0f) ? c0fftc0(in1) : c0ifftc0(in1)
+
+#define z0d0fftz0(in1,in2) (in2==-1.0) ? z0fftz0(in1) : z0ifftz0(in1)
+
+#define s2s0ffts2(in1,size,in2,out) (in2==-1.0f) ? s2ffts2(in1,size,out) : s2iffts2(in1,size,out)
+
+#define d2d0fftd2(in1,size,in2,out) (in2==-1.0) ? d2fftd2(in1,size,out) : d2ifftd2(in1,size,out)
+
+#define c2s0fftc2(in1,size,in2,out) (in2==-1.0f) ? c2fftc2(in1,size,out) : c2ifftc2(in1,size,out)
+
+#define z2d0fftz2(in1,size,in2,out) (in2==-1.0) ? z2fftz2(in1,size,out) : z2ifftz2(in1,size,out)
+
+#define s2s0fftc2(in1,size,in2,out) (in2==-1.0f) ? s2fftc2(in1,size,out) : s2ifftc2(in1,size,out)
+
+#define d2d0fftz2(in1,size,in2,out) (in2==-1.0) ? d2fftz2(in1,size,out) : d2ifftz2(in1,size,out)
+
+
+#endif /* !__INT_FFT_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_fftshift.h b/src/c/signalProcessing/interfaces/int_fftshift.h
new file mode 100644
index 0000000..d490657
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_fftshift.h
@@ -0,0 +1,51 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_FFTSHIFT_H__
+#define __INT_FFTSHIFT_H__
+
+#define s0fftshifts0(in) sfftshifts(in)
+
+#define d0fftshiftd0(in) dfftshifts(in)
+
+#define c0fftshiftc0(in) cfftshifts(in)
+
+#define z0fftshiftz0(in) zfftshifts(in)
+
+#define s2fftshifts2(in,size,out) sfftshifta(in, size[0], size[1], out)
+
+#define d2fftshiftd2(in,size,out) dfftshifta(in, size[0], size[1], out)
+
+#define c2fftshiftc2(in,size,out) cfftshifta(in, size[0], size[1], out)
+
+#define z2fftshiftz2(in,size,out) zfftshifta(in, size[0], size[1], out)
+
+
+#define s0s0fftshifts0(in1,in2) sfftshifts(in1)
+
+#define d0d0fftshiftd0(in1,in2) dfftshifts(in1)
+
+#define c0s0fftshiftc0(in1,in2) cfftshifts(in1)
+
+#define z0d0fftshiftz0(in1,in2) zfftshifts(in1)
+
+#define s2s0fftshifts2(in,size,in2,out) (in2==1) ? srowfftshifta(in, size[0], size[1], out) : scolumnfftshifta(in, size[0], size[1], out)
+
+#define d2d0fftshiftd2(in,size,in2,out) (in2==1) ? drowfftshifta(in, size[0], size[1], out) : dcolumnfftshifta(in, size[0], size[1], out)
+
+#define c2s0fftshiftc2(in,size,in2,out) (in2==1) ? crowfftshifta(in, size[0], size[1], out) : ccolumnfftshifta(in, size[0], size[1], out)
+
+#define z2d0fftshiftz2(in,size,in2,out) (in2==1) ? zrowfftshifta(in, size[0], size[1], out) : zcolumnfftshifta(in, size[0], size[1], out)
+
+#endif /* !__INT_FFTSHIFT_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_hilbert.h b/src/c/signalProcessing/interfaces/int_hilbert.h
new file mode 100644
index 0000000..c4c9c7e
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_hilbert.h
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_HILBERT_H__
+#define __INT_HILBERT_H__
+
+#define s0hilberts0(in) shilberts(in)
+
+#define d0hilbertd0(in) dhilberts(in)
+
+#define s2hilbertc2(in,size,out) shilberta(in, size[0], size[1], out)
+
+#define d2hilbertz2(in,size,out) dhilberta(in, size[0], size[1], out)
+
+#endif /* !__INT_HILBERT_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_ifft.h b/src/c/signalProcessing/interfaces/int_ifft.h
new file mode 100644
index 0000000..78e6375
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_ifft.h
@@ -0,0 +1,52 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_IFFT_H__
+#define __INT_IFFT_H__
+
+
+#define s0iffts0(in) siffts(in)
+
+#define d0ifftd0(in) diffts(in)
+
+#define s0ifftc0(in) FloatComplex(siffts(in),0)
+
+#define d0ifftz0(in) DoubleComplex(diffts(in),0)
+
+#define c0ifftc0(in) ciffts(in)
+
+#define z0ifftz0(in) ziffts(in)
+
+#define s2iffts2(in,size,out) sifftma(in, size[0], size[1], out)
+
+#define d2ifftd2(in,size,out) difftma(in, size[0], size[1], out)
+
+#define c2ifftc2(in,size,out) cifftma(in, size[0], size[1], out)
+
+#define z2ifftz2(in,size,out) zifftma(in, size[0], size[1], out)
+
+/* FIXME : malloc here */
+#define s2ifftc2(in,size,out) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[1]*sizeof(float)));\
+ szerosa(ZEROS,size[0],size[1]);\
+ cifftma(FloatComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
+ }
+/* FIXME : malloc here */
+#define d2ifftz2(in,size,out) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[1]*sizeof(double)));\
+ dzerosa(ZEROS,size[0],size[1]);\
+ zifftma(DoubleComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
+ }
+
+#endif /* !__INT_IFFT_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_lev.h b/src/c/signalProcessing/interfaces/int_lev.h
new file mode 100644
index 0000000..f15f9ea
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_lev.h
@@ -0,0 +1,53 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_LEV_H__
+#define __INT_LEV_H__
+
+#define s2levs2(in,size,out) {float sigma2;\
+ sigma2=sleva2(in,size[0]*size[1],out);\
+ }
+
+#define s2levs2s0(in,size,out) sleva2(in,size[0]*size[1],out);
+
+#define s2levs2s0s2(in,size,out1,out2) sleva(in,size[0]*size[1],out1,out2);
+
+
+#define d2levd2(in,size,out) {double sigma2;\
+ sigma2=dleva2(in,size[0]*size[1],out);\
+ }
+
+#define d2levd2d0(in,size,out) dleva2(in,size[0]*size[1],out);
+
+#define d2levd2d0d2(in,size,out1,out2) dleva(in,size[0]*size[1],out1,out2);
+
+
+#define c2levc2(in,size,out) {floatComplex sigma2;\
+ sigma2=cleva2(in,size[0]*size[1],out);\
+ }
+
+#define c2levc2c0(in,size,out) cleva2(in,size[0]*size[1],out);
+
+#define c2levc2c0c2(in,size,out1,out2) cleva(in,size[0]*size[1],out1,out2);
+
+
+#define z2levz2(in,size,out) {doubleComplex sigma2;\
+ sigma2=zleva2(in,size[0]*size[1],out);\
+ }
+
+#define z2levz2z0(in,size,out) zleva2(in,size[0]*size[1],out);
+
+#define z2levz2z0z2(in,size,out1,out2) zleva(in,size[0]*size[1],out1,out2);
+
+#endif /* !__INT_LEV_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_levin.h b/src/c/signalProcessing/interfaces/int_levin.h
new file mode 100644
index 0000000..b48b578
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_levin.h
@@ -0,0 +1,60 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_LEVIN_H__
+#define __INT_LEVIN_H__
+
+/* FIXME : many malloc here */
+
+#define s0s2levins2(in1,in2,size,out1,out2) {float* out2;\
+ float* out3;\
+ out2 = malloc((uint)*(size[1]*size[1]*in1)*sizeof(float));\
+ out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(float));\
+ slevina (in1, in2, size[0], size[1], out1, out2, out3);\
+ free(out3);\
+ free(out2);\
+ }
+
+
+#define s0s2levins2(in1,in2,size,out1,out2) {double* out2;\
+ double* out3;\
+ out2 = malloc((uint)*(size[1]*size[1]*in1)*sizeof(double));\
+ out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(double));\
+ slevina (in1, in2, size[0], size[1], out1, out2, out3);\
+ free(out3);\
+ free(out2);\
+ }
+
+
+
+#define s0s2levins2s2(in1,in2,size,out1,out2) {float* out3;\
+ out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(float));\
+ slevina (in1, in2, size[0], size[1], out1, out2, out3);\
+ free(out3);\
+ }
+
+#define d0d2levind2d2(in1,in2,size,out1,out2) {double* out3;\
+ out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(double));\
+ dlevina (in1, in2, size[0], size[1], out1, out2, out3);\
+ free(out3);\
+ }
+
+
+
+#define s0s2levins2s2s2(in1,in2,size,out1,out2,out3) slevina (in1, in2, size[0], size[1], out1, out2, out3);
+
+#define d0d2levind2d2d2(in1,in2,size,out1,out2,out3) dlevina (in1, in2, size[0], size[1], out1, out2, out3);
+
+
+#endif /* !__INT_LEVIN_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_lpc2cep.h b/src/c/signalProcessing/interfaces/int_lpc2cep.h
new file mode 100644
index 0000000..6e6e719
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_lpc2cep.h
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_LPC2CEP_H__
+#define __INT_LPC2CEP_H__
+
+
+#define s2lpc2ceps2(in,size,out) slpc2cepa(in, size[0]*size[1], out)
+
+#define d2lpc2cepd2(in,size,out) dlpc2cepa(in, size[0]*size[1], out)
+
+#define c2lpc2cepc2(in,size,out) clpc2cepa(in, size[0]*size[1], out)
+
+#define z2lpc2cepz2(in,size,out) zlpc2cepa(in, size[0]*size[1], out)
+
+#endif /* !__INT_LPC2CEP_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_xcorr.h b/src/c/signalProcessing/interfaces/int_xcorr.h
new file mode 100644
index 0000000..50a99d7
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_xcorr.h
@@ -0,0 +1,176 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_XCORR_H__
+#define __INT_XCORR_H__
+
+#define s0xcorrs0(in) in*in
+
+#define d0xcorrd0(in) in*in
+
+#define c0xcorrc0(in) cmuls(in,cconjs(in))
+
+#define z0xcorrz0(in) zmuls(in,zconjs(in))
+
+#define s2xcorrs2(in,size) s2s2xcorrs2(in,size,in,size,out)
+
+#define d2xcorrd2(in,size) d2d2xcorrd2(in,size,in,size,out)
+
+#define c2xcorrc2(in,size) c2c2xcorrc2(in,size,in,size,out)
+
+#define z2xcorrz2(in,size) z2z2xcorrz2(in,size,in,size,out)
+
+
+/* Scalar - Scalar */
+
+#define s0s0xcorrs0(in1,in2) in1*in2
+
+#define d0d0xcorrd0(in1,in2) in1*in2
+
+#define c0c0xcorrc0(in1,in2) cmuls(in1,cconjs(in2))
+
+#define z0z0xcorrz0(in1,in2) zmuls(in1,zconjs(in2))
+
+#define s0c0xcorrs0(in1,in2) cmuls(FloatComplex(in1,0),cconjs(in2))
+
+#define d0z0xcorrd0(in1,in2) zmuls(DoubleComplex(in1,0),zconjs(in2))
+
+#define c0s0xcorrc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
+
+#define z0d0xcorrz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
+
+/* Scalar - Scalar*/
+
+#define s0s2xcorrs2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=in1*in2[mn-i];\
+ }
+
+#define d0d2xcorrd2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=in1*in2[mn-i];\
+ }
+
+#define c0c2xcorrc2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=cmuls(in1,cconjs(in2[mn-i]));\
+ }
+
+#define z0z2xcorrz2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=zmuls(in1,zconjs(in2[mn-i]));\
+ }
+
+#define s0c2xcorrs2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=cmuls(FloatComplex(in1,0),cconjs(in2[mn-i]));\
+ }
+
+#define d0z2xcorrd2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=zmuls(DoubleComplex(in1,0),zconjs(in2[mn-i]));\
+ }
+
+#define c0s2xcorrc2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=cmuls(in1,FloatComplex(in2[mn-i],0));\
+ }
+
+#define z0d2xcorrz2(in1,in2,size,out) {int i;\
+ int mn=size[0]*size[1];\
+ for (i=1;i<=mn;i++) out[i]=zmuls(in1,DoubleComplex(in2[mn-i],0)));\
+ }
+
+
+
+
+
+/* Matrix - Scalar*/
+
+#define s2s0xcorrs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define d2d0xcorrd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define c2c0xcorrc2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],cconjs(in2));\
+ }
+
+#define z2z0xcorrz2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],zconjs(in2));\
+ }
+
+#define s2c0xcorrc2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define d2z0xcorrz2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
+ }
+
+#define c2s0xcorrc2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],FloatComplex(in2,0));\
+ }
+
+#define z2d0xcorrz2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],DoubleComplex(in2,0));\
+ }
+
+
+
+/* Matrix - Matrix */
+
+#define s2s2xcorrs2(in1,size1,in2,size2,out) scrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define d2d2xcorrd2(in1,size1,in2,size2,out) dcrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define c2c2xcorrc2(in1,size1,in2,size2,out) ccrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define z2z2xcorrz2(in1,size1,in2,size2,out) zcrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+
+/*FIXME : malloc here*/
+#define s2c2xcorrc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ c2c2xcorrc2(FloatComplex(in1,0,size1[0]*size1[1]),size1,in2,size2,out);\
+ free(temp);\
+ }
+
+#define d2z2xcorrz2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size[0],size[1],0);\
+ z2z2xcorrz2(DoubleComplex(in1,0,size1[0]*size1[1]),size1,in2,size2,out);\
+ free(temp);\
+ }
+
+
+#define c2s2xcorrc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
+ sfilla(temp,size2[0],size2[1],0);\
+ c2c2xcorrc2(in1,size1,FloatComplex(in2,0,size2[0]*size2[1]),size2,out);\
+ free(temp);\
+ }
+
+#define z2d2xcorrz2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ sfilla(temp,size2[0],size2[1],0);\
+ c2c2xcorrc2(in1,size1,DoubleComplex(in2,0,size2[0]*size2[1]),size2,out);\
+ free(temp);\
+ }
+
+#endif /* !__INT_XCORR_H__ */