summaryrefslogtreecommitdiff
path: root/macros/CFiles/sci2cincludes
diff options
context:
space:
mode:
authorjofret2009-04-28 07:11:01 +0000
committerjofret2009-04-28 07:11:01 +0000
commitb22f596ce449869bffd8e0f63baee1c53e20fa06 (patch)
tree24e5c3ca47f535b5340a969edf31b774b356848b /macros/CFiles/sci2cincludes
parentf96b66fe2423831bcad2f141469de6805364d019 (diff)
downloadscilab2c-b22f596ce449869bffd8e0f63baee1c53e20fa06.tar.gz
scilab2c-b22f596ce449869bffd8e0f63baee1c53e20fa06.tar.bz2
scilab2c-b22f596ce449869bffd8e0f63baee1c53e20fa06.zip
Moving macros here
Diffstat (limited to 'macros/CFiles/sci2cincludes')
-rw-r--r--macros/CFiles/sci2cincludes/ConvertPrecision.h18
-rw-r--r--macros/CFiles/sci2cincludes/FileManagement.h13
-rw-r--r--macros/CFiles/sci2cincludes/OpEqual.h33
-rw-r--r--macros/CFiles/sci2cincludes/OpExt.h108
-rw-r--r--macros/CFiles/sci2cincludes/OpIns.h352
-rw-r--r--macros/CFiles/sci2cincludes/OpLogAnd.h23
-rw-r--r--macros/CFiles/sci2cincludes/OpLogEq.h94
-rw-r--r--macros/CFiles/sci2cincludes/OpLogGe.h36
-rw-r--r--macros/CFiles/sci2cincludes/OpLogGt.h37
-rw-r--r--macros/CFiles/sci2cincludes/OpLogLe.h37
-rw-r--r--macros/CFiles/sci2cincludes/OpLogLt.h35
-rw-r--r--macros/CFiles/sci2cincludes/OpLogNe.h98
-rw-r--r--macros/CFiles/sci2cincludes/OpLogNot.h42
-rw-r--r--macros/CFiles/sci2cincludes/OpLogOr.h23
-rw-r--r--macros/CFiles/sci2cincludes/RealToComplex.h33
-rw-r--r--macros/CFiles/sci2cincludes/SCI2CMacroInterface.h281
-rw-r--r--macros/CFiles/sci2cincludes/SCI2Cconvol.h15
-rw-r--r--macros/CFiles/sci2cincludes/SCI2Cfft.h16
l---------macros/CFiles/sci2cincludes/abs.h1
l---------macros/CFiles/sci2cincludes/acos.h1
l---------macros/CFiles/sci2cincludes/acosh.h1
l---------macros/CFiles/sci2cincludes/addition.h1
l---------macros/CFiles/sci2cincludes/asin.h1
l---------macros/CFiles/sci2cincludes/asinh.h1
l---------macros/CFiles/sci2cincludes/atan.h1
l---------macros/CFiles/sci2cincludes/atan2.h1
l---------macros/CFiles/sci2cincludes/atanh.h1
l---------macros/CFiles/sci2cincludes/blas.h1
l---------macros/CFiles/sci2cincludes/cat.h1
l---------macros/CFiles/sci2cincludes/ceil.h1
l---------macros/CFiles/sci2cincludes/chol.h1
l---------macros/CFiles/sci2cincludes/conj.h1
-rw-r--r--macros/CFiles/sci2cincludes/constant.h27
l---------macros/CFiles/sci2cincludes/conv.h1
l---------macros/CFiles/sci2cincludes/conv2d.h1
l---------macros/CFiles/sci2cincludes/cos.h1
l---------macros/CFiles/sci2cincludes/cosh.h1
l---------macros/CFiles/sci2cincludes/determ.h1
l---------macros/CFiles/sci2cincludes/disp.h1
l---------macros/CFiles/sci2cincludes/division.h1
l---------macros/CFiles/sci2cincludes/doubleComplex.h1
l---------macros/CFiles/sci2cincludes/exp.h1
l---------macros/CFiles/sci2cincludes/eye.h1
l---------macros/CFiles/sci2cincludes/fft.h1
l---------macros/CFiles/sci2cincludes/fft_internal.h1
l---------macros/CFiles/sci2cincludes/fftshift.h1
l---------macros/CFiles/sci2cincludes/fill.h1
l---------macros/CFiles/sci2cincludes/find.h1
l---------macros/CFiles/sci2cincludes/find2d.h1
l---------macros/CFiles/sci2cincludes/fix.h1
l---------macros/CFiles/sci2cincludes/floatComplex.h1
l---------macros/CFiles/sci2cincludes/floor.h1
l---------macros/CFiles/sci2cincludes/frexp.h1
l---------macros/CFiles/sci2cincludes/ifft.h1
l---------macros/CFiles/sci2cincludes/ifft_internal.h1
l---------macros/CFiles/sci2cincludes/implicitList.h1
l---------macros/CFiles/sci2cincludes/infiniteNorm.h1
l---------macros/CFiles/sci2cincludes/int.h1
l---------macros/CFiles/sci2cincludes/isempty.h1
l---------macros/CFiles/sci2cincludes/isnan.h1
l---------macros/CFiles/sci2cincludes/lapack.h1
l---------macros/CFiles/sci2cincludes/length.h1
l---------macros/CFiles/sci2cincludes/lev.h1
l---------macros/CFiles/sci2cincludes/lnp1m1.h1
l---------macros/CFiles/sci2cincludes/log.h1
l---------macros/CFiles/sci2cincludes/log10.h1
l---------macros/CFiles/sci2cincludes/log1p.h1
-rw-r--r--macros/CFiles/sci2cincludes/machine.h.in141
l---------macros/CFiles/sci2cincludes/matrixDivision.h1
l---------macros/CFiles/sci2cincludes/matrixExponential.h1
l---------macros/CFiles/sci2cincludes/matrixInversion.h1
l---------macros/CFiles/sci2cincludes/matrixMultiplication.h1
l---------macros/CFiles/sci2cincludes/matrixPow.h1
l---------macros/CFiles/sci2cincludes/matrixTrace.h1
l---------macros/CFiles/sci2cincludes/matrixTranspose.h1
l---------macros/CFiles/sci2cincludes/max.h1
l---------macros/CFiles/sci2cincludes/mean.h1
l---------macros/CFiles/sci2cincludes/min.h1
l---------macros/CFiles/sci2cincludes/multiplication.h1
-rw-r--r--macros/CFiles/sci2cincludes/notFound.h18
l---------macros/CFiles/sci2cincludes/ones.h1
l---------macros/CFiles/sci2cincludes/pow.h1
l---------macros/CFiles/sci2cincludes/pythag.h1
l---------macros/CFiles/sci2cincludes/round.h1
-rw-r--r--macros/CFiles/sci2cincludes/sci2clib.h264
l---------macros/CFiles/sci2cincludes/sign.h1
l---------macros/CFiles/sci2cincludes/sin.h1
l---------macros/CFiles/sci2cincludes/sinh.h1
l---------macros/CFiles/sci2cincludes/size.h1
l---------macros/CFiles/sci2cincludes/spec.h1
l---------macros/CFiles/sci2cincludes/sqrt.h1
l---------macros/CFiles/sci2cincludes/statMax.h1
l---------macros/CFiles/sci2cincludes/statMin.h1
l---------macros/CFiles/sci2cincludes/subtraction.h1
l---------macros/CFiles/sci2cincludes/sum.h1
l---------macros/CFiles/sci2cincludes/tan.h1
l---------macros/CFiles/sci2cincludes/tanh.h1
l---------macros/CFiles/sci2cincludes/type.h1
l---------macros/CFiles/sci2cincludes/variance.h1
l---------macros/CFiles/sci2cincludes/zeros.h1
100 files changed, 1822 insertions, 0 deletions
diff --git a/macros/CFiles/sci2cincludes/ConvertPrecision.h b/macros/CFiles/sci2cincludes/ConvertPrecision.h
new file mode 100644
index 00000000..0546432d
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/ConvertPrecision.h
@@ -0,0 +1,18 @@
+/*
+** -*- C -*-
+**
+** ConvertPrecision.h
+** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
+**
+** Copyright Raffaele Nutricato 2008
+*/
+
+#ifndef __ConvertPrecision_H__
+#define __ConvertPrecision_H__
+
+
+double s0doubled0(float in);
+void s2doubled2(float* in, int* inSize, double* out);
+float d0floats0(double in);
+void d2floats2(double* in, int* inSize, float* out);
+#endif /* !__ConvertPrecision_H__ */
diff --git a/macros/CFiles/sci2cincludes/FileManagement.h b/macros/CFiles/sci2cincludes/FileManagement.h
new file mode 100644
index 00000000..937a66ef
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/FileManagement.h
@@ -0,0 +1,13 @@
+/*
+** -*- C -*-
+**
+** FileManagement.c
+** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
+**
+**
+** Copyright Rubby Nutricato 2007
+** 31-dec-2007
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
diff --git a/macros/CFiles/sci2cincludes/OpEqual.h b/macros/CFiles/sci2cincludes/OpEqual.h
new file mode 100644
index 00000000..da36059a
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpEqual.h
@@ -0,0 +1,33 @@
+/*
+** -*- C -*-
+**
+** OpEqual.h
+** Made by Raffaele Nutricato
+**
+**
+*/
+
+#ifndef __OPEQUAL_H__
+#define __OPEQUAL_H__
+
+#include <string.h>
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/*
+** Compute Opequal for different types .
+*/
+
+float sOpEquals1(float x);
+double dOpEquals1(double x);
+floatComplex c0OpEqualc0(floatComplex x);
+doubleComplex z0OpEqualz0(doubleComplex x);
+char g0OpEqualg0(char x);
+
+void sOpEquala1(float* x, int size, float* y);
+void dOpEquala1(double* x, int size, double* y);
+void c2OpEqualc2(floatComplex* x, int* xSize, floatComplex* y);
+void z2OpEqualz2(doubleComplex* x, int* xSize, doubleComplex* y);
+void g2OpEqualg2(char* x, int* xSize, char* y);
+
+#endif /* !__OPEQUAL_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpExt.h b/macros/CFiles/sci2cincludes/OpExt.h
new file mode 100644
index 00000000..7d8a77f7
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpExt.h
@@ -0,0 +1,108 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+
+/*
+ Modify by Arnaud Torset : 20/02/09
+*/
+
+#ifndef __OPEXT_H__
+#define __OPEXT_H__
+
+#define s2s0OpExts0(in1,size,in2) in1[in2-1];
+#define d2d0OpExtd0(in1,size,in2) in1[in2-1];
+#define c2s0OpExtc0(in1,size,in2) in1[in2-1];
+#define z2d0OpExtz0(in1,size,in2) in1[in2-1];
+
+
+#define s2s0s0OpExts0(in1,size,row,col) in1[(col-1)*size[0]+row-1];
+#define d2d0d0OpExtd0(in1,size,row,col) in1[(col-1)*size[0]+row-1];
+#define c2s0s0OpExtc0(in1,size,row,col) in1[(col-1)*size[0]+row-1];
+#define z2d0d0OpExtz0(in1,size,row,col) in1[(col-1)*size[0]+row-1];
+
+
+#define s2s2OpExts2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1];\
+ }
+
+#define d2d2OpExtd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1];\
+ }
+
+#define c2s2OpExtc2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1;i++]) out[i]=in1[(int)in2[i]-1];\
+ }
+
+#define z2d2OpExtz2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1];\
+ }
+
+
+
+#define s2s2s0OpExts2(in1,size1,rows,size2,col,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,(int)rows[i],col);\
+ }
+
+#define d2d2d0OpExtd2(in1,size1,rows,size2,col,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,(int)rows[i],col);\
+ }
+
+#define c2s2s0OpExtc2(in1,size1,rows,size2,col,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,(int)rows[i],col);\
+ }
+
+#define z2d2d0OpExtz2(in1,size1,rows,size2,col,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,(int)rows[i],col);\
+ }
+
+#define s2s0s2OpExts2(in1,size1,row,cols,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,row,(int)cols[i]);\
+ }
+
+#define d2d0d2OpExtd2(in1,size1,row,cols,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,row,(int)cols[i]);\
+ }
+
+#define c2s0s2OpExtc2(in1,size1,row,cols,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,row,(int)cols[i]);\
+ }
+
+#define z2d0d2OpExtz2(in1,size1,row,cols,size2,out) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,row,(int)cols[i]);\
+ }
+
+
+#define s2s2s2OpExts2(in1,size1,rows,size2,cols,size3,out) {int i,j;\
+ for (i=0;i<size2[0]*size2[1];i++) \
+ for (j=0;j<size3[0]*size3[1];j++) \
+ out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1];\
+ }
+
+#define d2d2d2OpExtd2(in1,size1,rows,size2,cols,size3,out) {int i,j;\
+ for (i=0;i<size2[0]*size2[1];i++) \
+ for (j=0;j<size3[0]*size3[1];j++) \
+ out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1];\
+ }
+
+#define c2s2s2OpExtc2(in1,size1,rows,size2,cols,size3,out) {int i,j;\
+ for (i=0;i<size2[0]*size2[1];i++) \
+ for (j=0;j<size3[0]*size3[1];j++) \
+ out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1];\
+ }
+
+#define z2d2d2OpExtz2(in1,size1,rows,size2,cols,size3,out) {int i,j;\
+ for (i=0;i<size2[0]*size2[1];i++) \
+ for (j=0;j<size3[0]*size3[1];j++) \
+ out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1];\
+ }
+
+
+
+
+
+#endif /* !__OPEXT_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpIns.h b/macros/CFiles/sci2cincludes/OpIns.h
new file mode 100644
index 00000000..20fa8cb6
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpIns.h
@@ -0,0 +1,352 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+
+/*
+ Modify by Arnaud Torset : 20/02/09
+*/
+
+#ifndef __OPINS_H__
+#define __OPINS_H__
+
+
+/* a(3)=2 */
+#define s2s0s0OpIns(in,size,indice,newVal) in[indice-1]=newVal;
+
+#define d2d0d0OpIns(in,size,indice,newVal) in[indice-1]=newVal;
+
+#define c2s0c0OpIns(in,size,indice,newVal) in[indice-1]=newVal;
+
+#define z2d0z0OpIns(in,size,indice,newVal) in[indice-1]=newVal;
+
+/* a([1 2])=2 */
+#define s2s2s0OpIns(in,size1,indices,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
+ }
+
+
+#define d2d2d0OpIns(in,size1,indices,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
+ }
+
+#define c2s2c0OpIns(in,size1,indices,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
+ }
+
+#define z2d2z0OpIns(in,size1,indices,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
+ }
+/* a([1 2])=[3,1] */
+#define s2s2s2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
+ }
+
+
+#define d2d2d2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
+ }
+
+#define c2s2c2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
+ }
+
+#define z2d2z2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
+ }
+
+
+/* a(1,3)=2 */
+#define s2s0s0s0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
+
+#define d2d0d0d0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
+
+#define c2s0s0c0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
+
+#define z2d0d0z0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
+
+
+/* a(1,[3,1])=2 */
+#define s2s0s2s0OpIns(in,size1,row,cols,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
+ }
+
+#define d2d0d2d0OpIns(in,size1,row,cols,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
+ }
+
+#define c2s0s2c0OpIns(in,size1,row,cols,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
+ }
+
+#define z2d0d2z0OpIns(in,size1,row,cols,size2,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
+ }
+
+
+/* a([3,1],1)=2 */
+#define s2s2s0s0OpIns(in,size1,rows,size2,col,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
+ }
+
+#define d2d2d0d0OpIns(in,size1,rows,size2,col,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
+ }
+
+#define c2s2s0c0OpIns(in,size1,rows,size2,col,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
+ }
+
+#define z2d2d0z0OpIns(in,size1,rows,size2,col,newVal) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
+ }
+
+/* a([3,1],[1 2])=2 */
+#define s2s2s2s0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
+ }
+
+#define d2d2d2d0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
+ }
+
+#define c2s2s2c0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
+ }
+
+#define z2d2d2z0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
+ }
+/* a(1,[3,1])=[2,5] */
+#define s2s0s2s2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
+ }
+
+#define d2d0d2d2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
+ }
+
+#define c2s0s2c2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
+ }
+
+#define z2d0d2z2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
+ }
+/* a([3,1],1)=[2,5] */
+#define s2s2s0s2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
+ }
+
+#define d2d2d0d2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
+ }
+
+#define c2s2s0c2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
+ }
+
+#define z2d2d0z2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
+ }
+
+/* a([3,1],[1 2])=[2,1,3,5] */
+#define s2s2s2s2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
+ }
+
+#define d2d2d2d2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
+ }
+
+#define c2s2s2c2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
+ }
+
+#define z2d2d2z2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
+ }
+
+
+/* Mixed types
+2 cases : we assign a real in a complex array => ok, we just have put the imaginary part to 0
+ we assign a complex in a real array => ko, we can't enlarge the input matrix. So we just replace by the real part of the complex
+*/
+
+/* a(3)=2 */
+#define s2s0c0OpIns(in,size,indice,newVal) s2s0s0OpIns(in,size,indice,creals(newVal))
+
+#define d2d0z0OpIns(in,size,indice,newVal) d2d0d0OpIns(in,size,indice,zreals(newVal))
+
+#define c2s0s0OpIns(in,size,indice,newVal) c2s0c0OpIns(in,size,indice,FloatComplex(newVal,0))
+
+#define z2d0d0OpIns(in,size,indice,newVal) z2d0z0OpIns(in,size,indice,DoubleComplex(newVal,0))
+
+
+/* a([1 2])=2 */
+#define s2s2c0OpIns(in,size1,indices,size2,newVal) s2s2s0OpIns(in,size1,indices,size2,creals(newVal))
+
+#define d2d2z0OpIns(in,size1,indices,size2,newVal) d2d2d0OpIns(in,size1,indices,size2,zreals(newVal))
+
+#define c2s2s0OpIns(in,size1,indices,size2,newVal) c2s2c0OpIns(in,size1,indices,size2,FloatComplex(newVal,0))
+
+#define z2d2d0OpIns(in,size1,indices,size2,newVal) z2d2z0OpIns(in,size1,indices,size2,DoubleComplex(newVal,0))
+
+
+/* a([1 2])=[3,1] */
+#define s2s2c2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=creals(newVals[i]);\
+ }
+
+
+#define d2d2z2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=zreals(newVals[i]);\
+ }
+
+#define c2s2s2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=FloatComplex(newVals[i],0);\
+ }
+
+#define z2d2d2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=DoubleComplex(newVals[i],0);\
+ }
+
+
+/* a(1,3)=2 */
+#define s2s0s0c0OpIns(in,size,row,col,newVal) s2s0s0s0OpIns(in,size,row,col,creals(newVal))
+
+#define d2d0d0z0OpIns(in,size,row,col,newVal) d2d0d0d0OpIns(in,size,row,col,zreals(newVal))
+
+#define c2s0s0s0OpIns(in,size,row,col,newVal) c2s0s0c0OpIns(in,size,row,col,FloatComplex(newVal,0))
+
+#define z2d0d0d0OpIns(in,size,row,col,newVal) z2d0d0z0OpIns(in,size,row,col,DoubleComplex(newVal,0))
+
+
+/* a(1,[3,1])=2 */
+#define s2s0s2c0OpIns(in,size1,row,cols,size2,newVal) s2s0s2s0OpIns(in,size1,row,cols,size2,creals(newVal))
+
+#define d2d0d2z0OpIns(in,size1,row,cols,size2,newVal) d2d0d2d0OpIns(in,size1,row,cols,size2,zreals(newVal))
+
+#define c2s0s2s0OpIns(in,size1,row,cols,size2,newVal) c2s0s2c0OpIns(in,size1,row,cols,size2,FloatComplex(newVal,0))
+
+#define z2d0d2d0OpIns(in,size1,row,cols,size2,newVal) z2d0d2z0OpIns(in,size1,row,cols,size2,DoubleComplex(newVal,0))
+
+
+/* a([3,1],1)=2 */
+#define s2s2s0c0OpIns(in,size1,rows,size2,col,newVal) s2s2s0s0OpIns(in,size1,rows,size2,col,creals(newVal))
+
+#define d2d2d0z0OpIns(in,size1,rows,size2,col,newVal) d2d2d0d0OpIns(in,size1,rows,size2,col,zreals(newVal))
+
+#define c2s2s0s0OpIns(in,size1,rows,size2,col,newVal) c2s2s0c0OpIns(in,size1,rows,size2,col,FloatComplex(newVal,0))
+
+#define z2d2d0d0OpIns(in,size1,rows,size2,col,newVal) z2d2d0z0OpIns(in,size1,rows,size2,col,DoubleComplex(newVal,0))
+
+/* a([3,1],[1 2])=2 */
+#define s2s2s2c0OpIns(in,size1,rows,size2,cols,size3,newVal) s2s2s2s0OpIns(in,size1,rows,size2,cols,size3,creals(newVal))
+
+#define d2d2d2z0OpIns(in,size1,rows,size2,cols,size3,newVal) d2d2d2d0OpIns(in,size1,rows,size2,cols,size3,zreals(newVal))
+
+#define c2s2s2s0OpIns(in,size1,rows,size2,cols,size3,newVal) c2s2s2c0OpIns(in,size1,rows,size2,cols,size3,FloatComplex(newVal,0))
+
+#define z2d2d2d0OpIns(in,size1,rows,size2,cols,size3,newVal) z2d2d2z0OpIns(in,size1,rows,size2,cols,size3,DoubleComplex(newVal,0))
+
+
+/* a(1,[3,1])=[2,5] */
+#define s2s0s2c2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=creals(newVals[i]);\
+ }
+
+#define d2d0d2z2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=zreals(newVals[i]);\
+ }
+
+#define c2s0s2s2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=FloatComplex(newVals[i],0);\
+ }
+
+#define z2d0d2d2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)row-1]=DoubleComplex(newVals[i],0);\
+ }
+/* a([3,1],1)=[2,5] */
+#define s2s2s0c2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=creals(newVals[i]);\
+ }
+
+#define d2d2d0z2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=zreals(newVals[i]);\
+ }
+
+#define c2s2s0s2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=FloatComplex(newVals[i],0);\
+ }
+
+#define z2d2d0d2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
+ for (i=0;i<size2[0]*size2[1];i++)\
+ in[(int)(col-1)*size1[0]+(int)rows[i]-1]=DoubleComplex(newVals[i],0);\
+ }
+
+/* a([3,1],[1 2])=[2,1,3,5] */
+#define s2s2s2c2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
+ {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=creals(newVals[i*size4[0]+j]);\
+ }
+
+#define d2d2d2z2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
+ {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=zreals(newVals[i*size4[0]+j]);\
+ }
+
+#define c2s2s2s2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
+ {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=FloatComplex(newVals[i*size4[0]+j],0);\
+ }
+
+#define z2d2d2d2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
+ {int i,j;\
+ for (i=0;i<size3[0]*size3[1];i++)\
+ for (j=0;j<size2[0]*size2[1];j++)\
+ in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=DoubleComplex(newVals[i*size4[0]+j],0);\
+ }
+
+#endif /* !__OPINS_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogAnd.h b/macros/CFiles/sci2cincludes/OpLogAnd.h
new file mode 100644
index 00000000..8d61a59c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogAnd.h
@@ -0,0 +1,23 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+
+#ifndef __OPLOGAND_H__
+#define __OPLOGAND_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#define s0s0OpLogAnds0(in1,in2) \
+ (float) (in1 && in2)
+void s2s0OpLogAnds2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogAndd0(in1,in2) \
+ (double) (in1 && in2)
+void d2d0OpLogAndd2(double* in1, int* in1Size, double in2, double* out);
+#endif /* !__OPLOGAND_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogEq.h b/macros/CFiles/sci2cincludes/OpLogEq.h
new file mode 100644
index 00000000..b15a8b6a
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogEq.h
@@ -0,0 +1,94 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+/* Modified by Arnaud Torset */
+
+
+#ifndef __OPLOGEQ_H__
+#define __OPLOGEQ_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#define s0s0OpLogEqs0(in1,in2) (float) (in1 == in2)
+#define d0d0OpLogEqd0(in1,in2) (double) (in1 == in2)
+#define c0c0OpLogEqs0(in1,in2) (float) ((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
+#define z0z0OpLogEqd0(in1,in2) (double) ((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
+
+#define s0c0OpLogEqs0(in1,in2) (float) ((in1==creals(in2)) && (0==cimags(in2)))
+#define d0z0OpLogEqd0(in1,in2) (double) ((in1==zreals(in2)) && (0==zimags(in2)))
+#define c0s0OpLogEqs0(in1,in2) s0c0OpLogEqs0(in2,in1)
+#define z0d0OpLogEqd0(in1,in2) d0z0OpLogEqd0(in2,in1)
+
+
+
+#define s2s0OpLogEqs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)(in1[i]==in2);\
+ }
+#define d2d0OpLogEqd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)(in1[i]==in2);\
+ }
+#define c2c0OpLogEqs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)((creals(in1[i])==creals(in2))&&(cimags(in1[i])==cimags(in2)));\
+ }
+#define z2z0OpLogEqd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)((zreals(in1[i])==zreals(in2))&&(zimags(in1[i])==zimags(in2)));\
+ }
+
+
+#define c2s0OpLogEqs2(in1,size,in2,out) c2c0OpLogEqs2(in1,size,FloatComplex(in2,0),out)
+#define z2d0OpLogEqd2(in1,size,in2,out) z2z0OpLogEqd2(in1,size,DoubleComplex(in2,0),out)
+
+#define s2c0OpLogEqs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)((in1[i]==creals(in2))&&(cimags(in2)==0));\
+ }
+
+#define d2z0OpLogEqd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)((in1[i]==zreals(in2))&&(zimags(in2)==0));\
+ }
+
+
+
+#define s0s2OpLogEqs2(in1,in2,inSize,out) s2s0OpLogEqs2(in2,inSize,in1,out)
+#define c0s2OpLogEqs2(in1,in2,inSize,out) s2c0OpLogEqs2(in2,inSize,in1,out)
+#define d0d2OpLogEqd2(in1,in2,inSize,out) d2d0OpLogEqd2(in2,inSize,in1,out)
+#define z0d2OpLogEqd2(in1,in2,inSize,out) d2z0OpLogEqd2(in2,inSize,in1,out)
+#define s0c2OpLogEqs2(in1,in2,inSize,out) c2s0OpLogEqs2(in2,inSize,in1,out)
+#define c0c2OpLogEqs2(in1,in2,inSize,out) c2c0OpLogEqs2(in2,inSize,in1,out)
+#define d0z2OpLogEqd2(in1,in2,inSize,out) z2d0OpLogEqd2(in2,inSize,in1,out)
+#define z0z2OpLogEqd2(in1,in2,inSize,out) z2z0OpLogEqd2(in2,inSize,in1,out)
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(float)(in1[i]==in2[i]);\
+ }
+#define d2d2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(double)(in1[i]==in2[i]);\
+ }
+#define c2c2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(float)((creals(in1[i])==creals(in2[i]))&&(cimags(in1[i])==cimags(in2[i])));\
+ }
+#define z2z2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(double)((zreals(in1[i])==zreals(in2[i]))&&(zimags(in1[i])==zimags(in2[i])));\
+ }
+
+#define s2c2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(float)((in1[i]==creals(in2[i]))&&(0==cimags(in2[i])));\
+ }
+#define d2z2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(double)((in1[i]==zreals(in2[i]))&&(0==zimags(in2[i])));\
+ }
+
+#define c2s2OpLogEqs2(in1,size1,in2,size2,out) s2c2OpLogEqs2(in2,size2,in1,size1,out)
+#define z2d2OpLogEqd2(in1,size1,in2,size2,out) d2z2OpLogEqd2(in2,size2,in1,size1,out)
+#endif /* !__OPLOGGT_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogGe.h b/macros/CFiles/sci2cincludes/OpLogGe.h
new file mode 100644
index 00000000..ddc9631f
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogGe.h
@@ -0,0 +1,36 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Started on Tue Dec 5 15:49:18 2006 jofret
+** Last update Mon Oct 22 10:01:54 2007 bruno
+**
+** Copyright INRIA 2006
+*/
+
+/*
+ Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
+*/
+#ifndef __OPLOGGE_H__
+#define __OPLOGGE_H__
+
+
+#define s0s0OpLogGes0(in1,in2) \
+ (float) (in1 >= in2)
+void s2s0OpLogGes2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogGed0(in1,in2) \
+ (double) (in1 >= in2)
+void d2d0OpLogGed2(double* in1, int* in1Size, double in2, double* out);
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogGes2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = s0s0OpLogGes0(in1[i],in2[i]);\
+ }
+#define d2d2OpLogGed2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = d0d0OpLogGed0(in1[i],in2[i]);\
+ }
+#endif /* !__OPLOGLE_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogGt.h b/macros/CFiles/sci2cincludes/OpLogGt.h
new file mode 100644
index 00000000..88715092
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogGt.h
@@ -0,0 +1,37 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Started on Tue Dec 5 15:49:18 2006 jofret
+** Last update Mon Oct 22 10:01:54 2007 bruno
+**
+** Copyright INRIA 2006
+*/
+
+/*
+ Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
+*/
+
+#ifndef __OPLOGGT_H__
+#define __OPLOGGT_H__
+
+
+#define s0s0OpLogGts0(in1,in2) \
+ (float) (in1 > in2)
+void s2s0OpLogGts2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogGtd0(in1,in2) \
+ (double) (in1 > in2)
+void d2d0OpLogGtd2(double* in1, int* in1Size, double in2, double* out);
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogGts2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = s0s0OpLogGts0(in1[i],in2[i]);\
+ }
+#define d2d2OpLogGtd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = d0d0OpLogGtd0(in1[i],in2[i]);\
+ }
+#endif /* !__OPLOGGT_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogLe.h b/macros/CFiles/sci2cincludes/OpLogLe.h
new file mode 100644
index 00000000..7bc0c3af
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogLe.h
@@ -0,0 +1,37 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Started on Tue Dec 5 15:49:18 2006 jofret
+** Last update Mon Oct 22 10:01:54 2007 bruno
+**
+** Copyright INRIA 2006
+*/
+
+/*
+ Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
+*/
+
+#ifndef __OPLOGLE_H__
+#define __OPLOGLE_H__
+
+
+#define s0s0OpLogLes0(in1,in2) \
+ (float) (in1 <= in2)
+void s2s0OpLogLes2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogLed0(in1,in2) \
+ (double) (in1 <= in2)
+void d2d0OpLogLed2(double* in1, int* in1Size, double in2, double* out);
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogLes2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = s0s0OpLogLes0(in1[i],in2[i]);\
+ }
+#define d2d2OpLogLed2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = d0d0OpLogLed0(in1[i],in2[i]);\
+ }
+#endif /* !__OPLOGLE_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogLt.h b/macros/CFiles/sci2cincludes/OpLogLt.h
new file mode 100644
index 00000000..2962f151
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogLt.h
@@ -0,0 +1,35 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Started on Tue Dec 5 15:49:18 2006 jofret
+** Last update Mon Oct 22 10:01:54 2007 bruno
+**
+** Copyright INRIA 2006
+*/
+
+/*
+ Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
+*/
+#ifndef __OPLOGLT_H__
+#define __OPLOGLT_H__
+
+#define s0s0OpLogLts0(in1,in2) \
+ (float) (in1 < in2)
+void s2s0OpLogLts2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogLtd0(in1,in2) \
+ (double) (in1 < in2)
+void d2d0OpLogLtd2(double* in1, int* in1Size, double in2, double* out);
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogLts2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = s0s0OpLogLts0(in1[i],in2[i]);\
+ }
+#define d2d2OpLogLtd2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1]) out[i] = d0d0OpLogLtd0(in1[i],in2[i]);\
+ }
+#endif /* !__OPLOGLT_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogNe.h b/macros/CFiles/sci2cincludes/OpLogNe.h
new file mode 100644
index 00000000..238ef483
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogNe.h
@@ -0,0 +1,98 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Aranud Torset
+ *
+ * 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
+ *
+ */
+
+/* Idem that OpLogEq with a !(negation) behind*/
+
+#ifndef __OPLOGNE_H__
+#define __OPLOGNE_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#define s0s0OpLogNes0(in1,in2) (float) !(in1 == in2)
+#define d0d0OpLogNed0(in1,in2) (double) !(in1 == in2)
+#define c0c0OpLogNes0(in1,in2) (float) !((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
+#define z0z0OpLogNed0(in1,in2) (double) !((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
+
+#define s0c0OpLogNes0(in1,in2) (float) !((in1==creals(in2)) && (0==cimags(in2)))
+#define d0z0OpLogNed0(in1,in2) (double) !((in1==zreals(in2)) && (0==zimags(in2)))
+#define c0s0OpLogNes0(in1,in2) s0c0OpLogNes0(in2,in1)
+#define z0d0OpLogNed0(in1,in2) d0z0OpLogNed0(in2,in1)
+
+
+
+#define s2s0OpLogNes2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)!(in1[i]==in2);\
+ }
+#define d2d0OpLogNed2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)!(in1[i]==in2);\
+ }
+#define c2c0OpLogNes2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)!((creals(in1[i])==creals(in2))&&(cimags(in1[i])==cimags(in2)));\
+ }
+#define z2z0OpLogNed2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)!((zreals(in1[i])==zreals(in2))&&(zimags(in1[i])==zimags(in2)));\
+ }
+
+
+#define c2s0OpLogNes2(in1,size,in2,out) c2c0OpLogNes2(in1,size,FloatComplex(in2,0),out)
+#define z2d0OpLogNed2(in1,size,in2,out) z2z0OpLogNed2(in1,size,DoubleComplex(in2,0),out)
+
+#define s2c0OpLogNes2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(float)!((in1[i]==creals(in2))&&(cimags(in2)==0));\
+ }
+
+#define d2z0OpLogNed2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(double)!((in1[i]==zreals(in2))&&(zimags(in2)==0));\
+ }
+
+
+
+#define s0s2OpLogNes2(in1,in2,inSize,out) s2s0OpLogNes2(in2,inSize,in1,out)
+#define c0s2OpLogNes2(in1,in2,inSize,out) s2c0OpLogNes2(in2,inSize,in1,out)
+#define d0d2OpLogNed2(in1,in2,inSize,out) d2d0OpLogNed2(in2,inSize,in1,out)
+#define z0d2OpLogNed2(in1,in2,inSize,out) d2z0OpLogNed2(in2,inSize,in1,out)
+#define s0c2OpLogNes2(in1,in2,inSize,out) c2s0OpLogNes2(in2,inSize,in1,out)
+#define c0c2OpLogNes2(in1,in2,inSize,out) c2c0OpLogNes2(in2,inSize,in1,out)
+#define d0z2OpLogNed2(in1,in2,inSize,out) z2d0OpLogNed2(in2,inSize,in1,out)
+#define z0z2OpLogNed2(in1,in2,inSize,out) z2z0OpLogNed2(in2,inSize,in1,out)
+
+/* we must have size1=size2 */
+
+#define s2s2OpLogNes2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(float)!(in1[i]==in2[i]);\
+ }
+#define d2d2OpLogNed2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(double)!(in1[i]==in2[i]);\
+ }
+#define c2c2OpLogNes2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(float)!((creals(in1[i])==creals(in2[i]))&&(cimags(in1[i])==cimags(in2[i])));\
+ }
+#define z2z2OpLogNed2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(double)!((zreals(in1[i])==zreals(in2[i]))&&(zimags(in1[i])==zimags(in2[i])));\
+ }
+
+#define s2c2OpLogNes2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(float)!((in1[i]==creals(in2[i]))&&(0==cimags(in2[i])));\
+ }
+#define d2z2OpLogNed2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) \
+ out[i]=(double)!((in1[i]==zreals(in2[i]))&&(0==zimags(in2[i])));\
+ }
+
+#define c2s2OpLogNes2(in1,size1,in2,size2,out) s2c2OpLogNes2(in2,size2,in1,size1,out)
+#define z2d2OpLogNed2(in1,size1,in2,size2,out) d2z2OpLogNed2(in2,size2,in1,size1,out)
+
+#endif /* !__OPLOGNE_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogNot.h b/macros/CFiles/sci2cincludes/OpLogNot.h
new file mode 100644
index 00000000..6184265c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogNot.h
@@ -0,0 +1,42 @@
+/*
+ * 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_OPLOGNOT_H__
+#define __INT_OPLOGNOT_H__
+
+#define s0OpLogNots0(in) (in==0) ? (float)1 : (float)0
+
+#define d0OpLogNotd0(in) (in==0) ? (double)1 : (double)0
+
+#define c0OpLogNotc0(in) (creals(in)==0) ? FloatComplex(1,0) : FloatComplex(0,0)
+
+#define z0OpLogNotz0(in) (zreals(in)==0) ? DoubleComplex(1,0) : DoubleComplex(0,0)
+
+#define s2OpLogNots2(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=s0OpLogNots0(in[i]);\
+ }
+
+#define d2OpLogNotd2(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=d0OpLogNotd0(in[i]);\
+ }
+
+#define c2OpLogNotc2(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=c0OpLogNotc0(in[i]);\
+ }
+
+#define z2OpLogNotz2(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=z0OpLogNotz0(in[i]);\
+ }
+
+#endif /* !__INT_OPLOGNOT_H__ */
diff --git a/macros/CFiles/sci2cincludes/OpLogOr.h b/macros/CFiles/sci2cincludes/OpLogOr.h
new file mode 100644
index 00000000..331cae78
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/OpLogOr.h
@@ -0,0 +1,23 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+
+#ifndef __OPLOGOR_H__
+#define __OPLOGOR_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#define s0s0OpLogOrs0(in1,in2) \
+ (float) (in1 || in2)
+void s2s0OpLogOrs2(float* in1, int* in1Size, float in2, float* out);
+
+#define d0d0OpLogOrd0(in1,in2) \
+ (double) (in1 || in2)
+void d2d0OpLogOrd2(double* in1, int* in1Size, double in2, double* out);
+#endif /* !__OPLOGOR_H__ */
diff --git a/macros/CFiles/sci2cincludes/RealToComplex.h b/macros/CFiles/sci2cincludes/RealToComplex.h
new file mode 100644
index 00000000..6de98be2
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/RealToComplex.h
@@ -0,0 +1,33 @@
+/*
+** -*- C -*-
+**
+**
+** Made by Raffaele.Nutricato@tiscali.it
+**
+** Copyright Raffaele Nutricato
+*/
+
+#ifndef __REALTOCOMPLEX_H__
+#define __REALTOCOMPLEX_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+floatComplex s0floatcomplexc0(float in);
+floatComplex d0floatcomplexc0(double in);
+floatComplex c0floatcomplexc0(floatComplex in);
+floatComplex z0floatcomplexc0(doubleComplex in);
+void s2floatcomplexc2(float* in, int* inSize, floatComplex* out);
+void d2floatcomplexc2(double* in, int* inSize, floatComplex* out);
+void c2floatcomplexc2(floatComplex* in, int* inSize, floatComplex* out);
+void z2floatcomplexc2(doubleComplex* in, int* inSize, floatComplex* out);
+
+doubleComplex s0doublecomplexz0(float in);
+doubleComplex d0doublecomplexz0(double in);
+doubleComplex c0doublecomplexz0(floatComplex in);
+doubleComplex z0doublecomplexz0(doubleComplex in);
+void s2doublecomplexz2(float* in, int* inSize, doubleComplex* out);
+void d2doublecomplexz2(double* in, int* inSize, doubleComplex* out);
+void c2doublecomplexz2(floatComplex* in, int* inSize, doubleComplex* out);
+void z2doublecomplexz2(doubleComplex* in, int* inSize, doubleComplex* out);
+#endif /* !__REALTOCOMPLEX_H__ */
diff --git a/macros/CFiles/sci2cincludes/SCI2CMacroInterface.h b/macros/CFiles/sci2cincludes/SCI2CMacroInterface.h
new file mode 100644
index 00000000..4e129a76
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/SCI2CMacroInterface.h
@@ -0,0 +1,281 @@
+/*
+** ----------------------
+** --- Class OPEQUAL. ---
+** ----------------------
+*/
+/* --- Equal. --- */
+#define s0OpEquals0(in) \
+sOpEquals1(in);
+
+#define s2OpEquals2(inptr,insizeptr,outptr) \
+sOpEquala1(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define d0OpEquald0(in) \
+dOpEquals1(in);
+
+#define d2OpEquald2(inptr,insizeptr,outptr) \
+dOpEquala1(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+/*
+// ---------------------
+// --- Class OPSTAR. ---
+// ---------------------
+*/
+/* --- OpStar. ---
+#define s0s0OpStars0(in1,in2) \
+ssOpStarss1(in1,in2);
+
+#define s0s2OpStars2(in1,inptr2,insizeptr2,outptr) \
+ssOpStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);
+
+#define s2s0OpStars2(inptr2,insizeptr2,in1,outptr) \
+ssOpStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);*/
+/*questa su e' una macro
+
+#define s2s2OpStars2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ssOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr);
+
+#define d0d0OpStard0(in1,in2) \
+ddOpStarss1(in1,in2);
+
+#define d0d2OpStard2(in1,inptr2,insizeptr2,outptr) \
+ddOpStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)
+
+#define d2d0OpStard2(inptr2,insizeptr2,in1,outptr) \
+ddOpStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)*/
+/*questa su e' una macro
+
+#define d2d2OpStard2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ddOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr);*/
+
+/*
+// ---------------------
+// --- Class OPPLUS. ---
+// ---------------------
+*/
+/* --- OpPlus. ---*/
+/*RN volendo puoi fare una sola macro del tipo sa1() che serve per tutte le operazioni
+#define s0s0OpPluss0(in1,in2) \
+ssOpPlusss1(in1,in2);
+
+#define s0s2OpPluss2(in1,inptr2,insizeptr2,outptr) \
+ssOpPlussa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);
+
+#define s2s2OpPluss2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ssOpPlusaa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr)
+
+#define s2s0OpPluss2(inptr2,insizeptr2,in1,outptr) \
+ssOpPlussa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);*/
+/*questa su e' una macro
+
+#define d0d0OpPlusd0(in1,in2) \
+ddOpPlusss1(in1,in2);
+
+#define d2d2OpPlusd2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ddOpPlusaa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr);
+
+#define d0d2OpPlusd2(in1,inptr2,insizeptr2,outptr) \
+ddOpPlussa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)
+
+#define d2d0OpPlusd2(inptr2,insizeptr2,in1,outptr) \
+ddOpPlussa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)*/
+/*questa su e' una macro */
+
+
+/* --- OpDotStar. ---*/
+/*#define s0s0OpDotStars0(in1,in2) \
+ssOpDotStarss1(in1,in2);
+
+#define s0s2OpDotStars2(in1,inptr2,insizeptr2,outptr) \
+ssOpDotStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);
+
+#define s2s2OpDotStars2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ssOpDotStaraa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr)
+
+#define s2s0OpDotStars2(inptr2,insizeptr2,in1,outptr) \
+ssOpDotStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);
+questa su e' una macro */
+
+/*#define d0d0OpDotStard0(in1,in2) \
+ddOpDotStarss1(in1,in2);
+
+#define d2d2OpDotStard2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
+ddOpDotStaraa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr);
+
+#define d0d2OpDotStard2(in1,inptr2,insizeptr2,outptr) \
+ddOpDotStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)
+
+#define d2d0OpDotStard2(inptr2,insizeptr2,in1,outptr) \
+ddOpDotStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)
+questa su e' una macro */
+
+/*
+// ---------------------
+// --- Class ^. ---
+// ---------------------
+*/
+/*RN DA FARE ANCORA forse la si puo' integrare dentro le operazioni OPPLUS*/
+
+/*
+// ---------------------
+// --- Class OPAPEX. ---
+// ---------------------
+*/
+/* --- OpApex. ---
+#define s0OpApexs0(in) \
+sOpApexs(in);
+
+#define d0OpApexd0(in) \
+dOpApexs(in);
+
+#define s2OpApexs2(inptr,insizeptr,outptr) \
+sOpApexa(inptr, insizeptr[0],insizeptr[1], outptr);
+
+#define d2OpApexd2(inptr,insizeptr,outptr) \
+dOpApexa(inptr, insizeptr[0],insizeptr[1], outptr);
+*/
+/*
+// ---------------------
+// --- Class SIN. ---
+// ---------------------
+*/
+/* --- sin. ---*/ /*
+#define s0sins0(inptr) \
+ssins(inptr);
+
+#define d0sind0(inptr) \
+dsins(inptr);
+
+#define c0sinc0(inptr) \
+csins(inptr);
+
+#define z0sinz0(inptr) \
+zsins(inptr);
+
+#define s2sins2(inptr,insizeptr,outptr) \
+ssina(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define d2sind2(inptr,insizeptr,outptr) \
+dsina(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define c2sinc2(inptr,insizeptr,outptr) \
+csina(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define z2sinz2(inptr,insizeptr,outptr) \
+zsina(inptr, insizeptr[0]*insizeptr[1], outptr);
+ */
+/* --- cos. ---*/ /*
+#define s0coss0(inptr) \
+scoss(inptr);
+
+#define d0cosd0(inptr) \
+dcoss(inptr);
+
+#define c0cosc0(inptr) \
+ccoss(inptr);
+
+#define z0cosz0(inptr) \
+zcoss(inptr);
+
+#define s2coss2(inptr,insizeptr,outptr) \
+scosa(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define d2cosd2(inptr,insizeptr,outptr) \
+dcosa(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define c2cosc2(inptr,insizeptr,outptr) \
+ccosa(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define z2cosz2(inptr,insizeptr,outptr) \
+zcosa(inptr, insizeptr[0]*insizeptr[1], outptr);
+ */
+/* --- sinh. ---*/ /*
+#define s0sinhs0(inptr) \
+ssinhs(inptr);
+
+#define d0sinhd0(inptr) \
+dsinhs(inptr);
+
+#define c0sinhc0(inptr) \
+csinhs(inptr);
+
+#define z0sinhz0(inptr) \
+zsins(inptr);
+
+#define s2sinhs2(inptr,insizeptr,outptr) \
+ssinha(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define d2sinhd2(inptr,insizeptr,outptr) \
+dsinha(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define c2sinhc2(inptr,insizeptr,outptr) \
+csinha(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+#define z2sinhz2(inptr,insizeptr,outptr) \
+zsinha(inptr, insizeptr[0]*insizeptr[1], outptr);
+
+*/
+/*
+// ---------------------
+// --- Class DISP. ---
+// ---------------------
+*//*
+#define s0dispd0(invar) \
+sdisps2 (invar, #invar );
+
+#define d0dispd0(invar) \
+ddisps2 (invar, #invar );
+
+#define c0dispd0(invar) \
+cdisps2 (invar, #invar );
+
+#define z0dispd0(invar) \
+zdisps2 (invar, #invar );
+
+#define s2dispd0(invar,insize) \
+sdispa2 (invar, insize, #invar );
+
+#define d2dispd0(invar,insize) \
+ddispa2 (invar, insize, #invar );
+
+#define c2dispd0(invar,insize) \
+cdispa2 (invar, insize, #invar );
+
+#define z2dispd0(invar,insize) \
+zdispa2 (invar, insize, #invar );
+
+#define i2dispd0(invar,insize) \
+idispa2 (invar, insize, #invar );*/
+/*
+// --------------------
+// --- Class ZEROS. ---
+// --------------------
+*/
+/* --- ones. ---*/ /*
+#define d0d0onesd2(inptr1,inptr2,outptr) \
+ddonesss1(inptr1, inptr2, outptr);
+
+#define onesd0() \
+1
+
+#define d0onesd0(in1) \
+1
+
+#define d2onesd2(inptr,insizeptr,outptr) \
+ddonesss1(insizeptr[0], insizeptr[1], outptr);
+
+#define d0d0onesd2(inptr1,inptr2,outptr) \
+ddonesss1(inptr1, inptr2, outptr);
+
+#define s0s0oness2(inptr1,inptr2,outptr) \
+ssonesss1(inptr1, inptr2, outptr);
+
+#define oness0() \
+1
+
+#define s0oness0(in1) \
+1
+
+#define s2oness2(inptr,insizeptr,outptr) \
+ssonesss1(insizeptr[0], insizeptr[1], outptr);
+*/
diff --git a/macros/CFiles/sci2cincludes/SCI2Cconvol.h b/macros/CFiles/sci2cincludes/SCI2Cconvol.h
new file mode 100644
index 00000000..3fb3b9e9
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/SCI2Cconvol.h
@@ -0,0 +1,15 @@
+/*
+** -*- C -*-
+**
+** OpDotSlash.c
+** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
+**
+**
+** Copyright Raffaele Nutricato 2007
+*/
+
+#ifndef __CONVOL_H__
+#define __CONVOL_H__
+
+#include "SCI2CMacroInterface.h"
+#endif /* !__CONVOL_H__ */
diff --git a/macros/CFiles/sci2cincludes/SCI2Cfft.h b/macros/CFiles/sci2cincludes/SCI2Cfft.h
new file mode 100644
index 00000000..f82b74b4
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/SCI2Cfft.h
@@ -0,0 +1,16 @@
+/*
+** -*- C -*-
+**
+** OpDotSlash.c
+** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
+**
+**
+** Copyright Raffaele Nutricato 2007
+*/
+
+#ifndef __SCI2CFFT_H__
+#define __SCI2CFFT_H__
+
+#include "SCI2CMacroInterface.h"
+
+#endif /* !__SCI2CFFT_H__ */
diff --git a/macros/CFiles/sci2cincludes/abs.h b/macros/CFiles/sci2cincludes/abs.h
new file mode 120000
index 00000000..1387cc9f
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/abs.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/abs.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/acos.h b/macros/CFiles/sci2cincludes/acos.h
new file mode 120000
index 00000000..cbfc40d5
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/acos.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/acos.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/acosh.h b/macros/CFiles/sci2cincludes/acosh.h
new file mode 120000
index 00000000..929d11bd
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/acosh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/acosh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/addition.h b/macros/CFiles/sci2cincludes/addition.h
new file mode 120000
index 00000000..8c89d64c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/addition.h
@@ -0,0 +1 @@
+../../../../operations/includes/addition.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/asin.h b/macros/CFiles/sci2cincludes/asin.h
new file mode 120000
index 00000000..5736632f
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/asin.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/asin.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/asinh.h b/macros/CFiles/sci2cincludes/asinh.h
new file mode 120000
index 00000000..7b1f9484
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/asinh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/asinh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/atan.h b/macros/CFiles/sci2cincludes/atan.h
new file mode 120000
index 00000000..cf79c5c6
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/atan.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/atan.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/atan2.h b/macros/CFiles/sci2cincludes/atan2.h
new file mode 120000
index 00000000..d1ca9e00
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/atan2.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/atan2.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/atanh.h b/macros/CFiles/sci2cincludes/atanh.h
new file mode 120000
index 00000000..f21af4bb
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/atanh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/atanh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/blas.h b/macros/CFiles/sci2cincludes/blas.h
new file mode 120000
index 00000000..9498a284
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/blas.h
@@ -0,0 +1 @@
+../../../../includes/blas.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/cat.h b/macros/CFiles/sci2cincludes/cat.h
new file mode 120000
index 00000000..54b922f0
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/cat.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/cat.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/ceil.h b/macros/CFiles/sci2cincludes/ceil.h
new file mode 120000
index 00000000..78114a87
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/ceil.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/ceil.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/chol.h b/macros/CFiles/sci2cincludes/chol.h
new file mode 120000
index 00000000..0b393ed6
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/chol.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/chol.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/conj.h b/macros/CFiles/sci2cincludes/conj.h
new file mode 120000
index 00000000..def5c5a5
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/conj.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/conj.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/constant.h b/macros/CFiles/sci2cincludes/constant.h
new file mode 100644
index 00000000..9eb49544
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/constant.h
@@ -0,0 +1,27 @@
+/*
+** -*- C -*-
+**
+** constant.h
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Fri Mar 30 12:03:14 2007 jofret
+** Last update Mon Oct 22 17:23:08 2007 bruno
+**
+** Copyright INRIA 2007
+*/
+
+#ifndef __CONSTANT_H__
+#define __CONSTANT_H__
+
+#include <math.h>
+#define PI 3.1415826535
+#define SCI2C_PI 3.1415826535
+#define SCI2C_T 1
+#define SCI2C_F 0
+#define SCI2C_NAN nan("")
+#define SCI2C_INF 1e100000
+#define SCI2C_IMG_C FloatComplex(0,1)
+#define SCI2C_IMG_Z DoubleComplex(0,1)
+
+#endif /* !__CONSTANT_H__ */
+
diff --git a/macros/CFiles/sci2cincludes/conv.h b/macros/CFiles/sci2cincludes/conv.h
new file mode 120000
index 00000000..d323a3e6
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/conv.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/conv.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/conv2d.h b/macros/CFiles/sci2cincludes/conv2d.h
new file mode 120000
index 00000000..f3e01eb8
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/conv2d.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/conv2d.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/cos.h b/macros/CFiles/sci2cincludes/cos.h
new file mode 120000
index 00000000..e409c8da
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/cos.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/cos.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/cosh.h b/macros/CFiles/sci2cincludes/cosh.h
new file mode 120000
index 00000000..b7db43fb
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/cosh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/cosh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/determ.h b/macros/CFiles/sci2cincludes/determ.h
new file mode 120000
index 00000000..d4c62a0b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/determ.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/determ.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/disp.h b/macros/CFiles/sci2cincludes/disp.h
new file mode 120000
index 00000000..c4c72096
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/disp.h
@@ -0,0 +1 @@
+../../../../string/includes/disp.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/division.h b/macros/CFiles/sci2cincludes/division.h
new file mode 120000
index 00000000..0d87390a
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/division.h
@@ -0,0 +1 @@
+../../../../operations/includes/division.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/doubleComplex.h b/macros/CFiles/sci2cincludes/doubleComplex.h
new file mode 120000
index 00000000..7f90dd41
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/doubleComplex.h
@@ -0,0 +1 @@
+../../../../type/doubleComplex.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/exp.h b/macros/CFiles/sci2cincludes/exp.h
new file mode 120000
index 00000000..5344e792
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/exp.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/exp.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/eye.h b/macros/CFiles/sci2cincludes/eye.h
new file mode 120000
index 00000000..e1867359
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/eye.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/eye.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/fft.h b/macros/CFiles/sci2cincludes/fft.h
new file mode 120000
index 00000000..ef9f3d6b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/fft.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/fft.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/fft_internal.h b/macros/CFiles/sci2cincludes/fft_internal.h
new file mode 120000
index 00000000..29af7eac
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/fft_internal.h
@@ -0,0 +1 @@
+../../../../signalProcessing/fft/fft_internal.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/fftshift.h b/macros/CFiles/sci2cincludes/fftshift.h
new file mode 120000
index 00000000..8ecc2d06
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/fftshift.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/fftshift.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/fill.h b/macros/CFiles/sci2cincludes/fill.h
new file mode 120000
index 00000000..4c641311
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/fill.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/fill.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/find.h b/macros/CFiles/sci2cincludes/find.h
new file mode 120000
index 00000000..098fd52c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/find.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/find.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/find2d.h b/macros/CFiles/sci2cincludes/find2d.h
new file mode 120000
index 00000000..a5ea1dc7
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/find2d.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/find2d.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/fix.h b/macros/CFiles/sci2cincludes/fix.h
new file mode 120000
index 00000000..cd0aabc8
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/fix.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/fix.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/floatComplex.h b/macros/CFiles/sci2cincludes/floatComplex.h
new file mode 120000
index 00000000..77e12f4c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/floatComplex.h
@@ -0,0 +1 @@
+../../../../type/floatComplex.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/floor.h b/macros/CFiles/sci2cincludes/floor.h
new file mode 120000
index 00000000..cd651884
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/floor.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/floor.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/frexp.h b/macros/CFiles/sci2cincludes/frexp.h
new file mode 120000
index 00000000..2a84b770
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/frexp.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/frexp.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/ifft.h b/macros/CFiles/sci2cincludes/ifft.h
new file mode 120000
index 00000000..ba21dc8b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/ifft.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/ifft.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/ifft_internal.h b/macros/CFiles/sci2cincludes/ifft_internal.h
new file mode 120000
index 00000000..61a2163b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/ifft_internal.h
@@ -0,0 +1 @@
+../../../../signalProcessing/ifft/ifft_internal.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/implicitList.h b/macros/CFiles/sci2cincludes/implicitList.h
new file mode 120000
index 00000000..59caf9a3
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/implicitList.h
@@ -0,0 +1 @@
+../../../../implicitList/implicitList.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/infiniteNorm.h b/macros/CFiles/sci2cincludes/infiniteNorm.h
new file mode 120000
index 00000000..49a1772b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/infiniteNorm.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/infiniteNorm.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/int.h b/macros/CFiles/sci2cincludes/int.h
new file mode 120000
index 00000000..44e78980
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/int.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/int.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/isempty.h b/macros/CFiles/sci2cincludes/isempty.h
new file mode 120000
index 00000000..178edb0b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/isempty.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/isempty.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/isnan.h b/macros/CFiles/sci2cincludes/isnan.h
new file mode 120000
index 00000000..f844341e
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/isnan.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/isnan.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/lapack.h b/macros/CFiles/sci2cincludes/lapack.h
new file mode 120000
index 00000000..b21af188
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/lapack.h
@@ -0,0 +1 @@
+../../../../includes/lapack.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/length.h b/macros/CFiles/sci2cincludes/length.h
new file mode 120000
index 00000000..e091b460
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/length.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/length.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/lev.h b/macros/CFiles/sci2cincludes/lev.h
new file mode 120000
index 00000000..d4ca1d58
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/lev.h
@@ -0,0 +1 @@
+../../../../signalProcessing/includes/lev.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/lnp1m1.h b/macros/CFiles/sci2cincludes/lnp1m1.h
new file mode 120000
index 00000000..c2b5f880
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/lnp1m1.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/lnp1m1.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/log.h b/macros/CFiles/sci2cincludes/log.h
new file mode 120000
index 00000000..23706d33
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/log.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/log.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/log10.h b/macros/CFiles/sci2cincludes/log10.h
new file mode 120000
index 00000000..6aa0c2f9
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/log10.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/log10.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/log1p.h b/macros/CFiles/sci2cincludes/log1p.h
new file mode 120000
index 00000000..3ae03e9f
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/log1p.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/log1p.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/machine.h.in b/macros/CFiles/sci2cincludes/machine.h.in
new file mode 100644
index 00000000..52ed2d07
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/machine.h.in
@@ -0,0 +1,141 @@
+/* includes/machine.h.in. Generated from configure.ac by autoheader. */
+
+#ifndef MACHINE_H
+#define MACHINE_H
+
+
+
+/* Define C2F without Trailing Underscore */
+#undef C2F
+
+/* Cname */
+#undef CNAME
+
+/* Define C2F without Trailing Underscore */
+#undef F2C
+
+/* Define to 1 if your Fortran compiler doesn't accept -c and -o together. */
+#undef F77_NO_MINUS_C_MINUS_O
+
+/* Define to 1 if you have the <complex.h> header file. */
+#undef HAVE_COMPLEX_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* With the Atlas Lib */
+#undef WITH_ATLAS
+
+/* If leading underscores */
+#undef WLU
+
+/* If trailing underscores */
+#undef WTU
+
+
+/*
+ Define integer C type which must fit Fortran integer
+ For Scilab to work, the rule is:
+ size of Fortran double precision = 2 * size of Fortran integer
+
+ At the present time, we suppose:
+ size of Fortran integer = 4 bytes
+ size of Fortran double precision = 8 bytes
+ size of C int = 4 bytes
+*/
+
+typedef int integer;
+
+/* define boolean type */
+#ifdef BOOL
+ #undef BOOL
+#endif
+
+typedef int BOOL ;
+
+#ifdef TRUE
+ #undef TRUE
+#endif
+#define TRUE 1
+
+#ifdef FALSE
+ #undef FALSE
+#endif
+#define FALSE 0
+
+/* params.h */
+#ifdef __STDC__
+#ifndef __PARAMS
+#define __PARAMS(paramlist) paramlist
+#endif
+#ifndef _PARAMS
+#define _PARAMS(paramlist) paramlist
+#endif
+#else
+#ifndef __PARAMS
+#define __PARAMS(paramlist) ()
+#endif
+#ifndef _PARAMS
+#define _PARAMS(paramlist) ()
+#endif
+#endif
+
+#endif /* MACHINE_H */
+
diff --git a/macros/CFiles/sci2cincludes/matrixDivision.h b/macros/CFiles/sci2cincludes/matrixDivision.h
new file mode 120000
index 00000000..acb3c0b4
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixDivision.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixDivision.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixExponential.h b/macros/CFiles/sci2cincludes/matrixExponential.h
new file mode 120000
index 00000000..b40adde2
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixExponential.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixExponential.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixInversion.h b/macros/CFiles/sci2cincludes/matrixInversion.h
new file mode 120000
index 00000000..e090fdd0
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixInversion.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixInversion.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixMultiplication.h b/macros/CFiles/sci2cincludes/matrixMultiplication.h
new file mode 120000
index 00000000..54998c7c
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixMultiplication.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixMultiplication.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixPow.h b/macros/CFiles/sci2cincludes/matrixPow.h
new file mode 120000
index 00000000..af620797
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixPow.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixPow.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixTrace.h b/macros/CFiles/sci2cincludes/matrixTrace.h
new file mode 120000
index 00000000..f539ff4d
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixTrace.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixTrace.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/matrixTranspose.h b/macros/CFiles/sci2cincludes/matrixTranspose.h
new file mode 120000
index 00000000..cfddaffc
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/matrixTranspose.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixTranspose.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/max.h b/macros/CFiles/sci2cincludes/max.h
new file mode 120000
index 00000000..08554e0f
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/max.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/max.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/mean.h b/macros/CFiles/sci2cincludes/mean.h
new file mode 120000
index 00000000..d2b1fa00
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/mean.h
@@ -0,0 +1 @@
+../../../../statisticsFunctions/includes/mean.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/min.h b/macros/CFiles/sci2cincludes/min.h
new file mode 120000
index 00000000..df4d6df9
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/min.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/min.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/multiplication.h b/macros/CFiles/sci2cincludes/multiplication.h
new file mode 120000
index 00000000..9365ff9b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/multiplication.h
@@ -0,0 +1 @@
+../../../../operations/includes/multiplication.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/notFound.h b/macros/CFiles/sci2cincludes/notFound.h
new file mode 100644
index 00000000..59d8c2fe
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/notFound.h
@@ -0,0 +1,18 @@
+/*
+** -*- C -*-
+**
+** notFound.h
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Thu Feb 8 10:12:17 2007 jofret
+** Last update Tue Feb 13 17:16:47 2007 jofret
+**
+** Copyright INRIA 2007
+*/
+
+#ifndef __NOT_FOUND_H__
+#define __NOT_FOUND_H__
+
+#define NOT_FOUND -1
+
+#endif /* !__NOT_FOUND_H__ */
diff --git a/macros/CFiles/sci2cincludes/ones.h b/macros/CFiles/sci2cincludes/ones.h
new file mode 120000
index 00000000..f33d47f2
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/ones.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/ones.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/pow.h b/macros/CFiles/sci2cincludes/pow.h
new file mode 120000
index 00000000..0cd50149
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/pow.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/pow.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/pythag.h b/macros/CFiles/sci2cincludes/pythag.h
new file mode 120000
index 00000000..17f53062
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/pythag.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/pythag.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/round.h b/macros/CFiles/sci2cincludes/round.h
new file mode 120000
index 00000000..d0c7ce4a
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/round.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/round.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/sci2clib.h b/macros/CFiles/sci2cincludes/sci2clib.h
new file mode 100644
index 00000000..7c1e9dcc
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sci2clib.h
@@ -0,0 +1,264 @@
+#define SCI2Cint int
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "SCI2CMacroInterface.h"
+#include "constant.h"
+#include "notFound.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "RealToComplex.h"
+#include "OpEqual.h"
+#include "OpIns.h"
+#include "OpExt.h"
+#include "FileManagement.h"
+#include "OpLogNe.h"
+#include "OpLogGt.h"
+#include "OpLogLt.h"
+#include "OpLogGe.h"
+#include "OpLogLe.h"
+#include "OpLogEq.h"
+#include "OpLogOr.h"
+#include "OpLogAnd.h"
+#include "OpLogNot.h"
+#include "ConvertPrecision.h"
+
+
+/* LIB */
+/* interfacing lapack */
+#include "lapack.h"
+/* interfacing blas */
+#include "blas.h"
+
+/* AUXILIARY FUNCTIONS */
+
+/* interfacing abs */
+#include "abs.h"
+#include "int_abs.h"
+/* interfacing conj */
+#include "conj.h"
+#include "int_conj.h"
+/* interfacing disp */
+#include "disp.h"
+#include "int_disp.h"
+/* interfacing find */
+#include "find.h"
+#include "find2d.h"
+#include "int_find.h"
+/* interfacing frexp */
+#include "frexp.h"
+/* interfacing isempty */
+#include "isempty.h"
+#include "int_isempty.h"
+/* interfacing isnan */
+#include "isnan.h"
+#include "int_isnan.h"
+/* interfacing length */
+#include "length.h"
+#include "int_length.h"
+/* interfacing max */
+#include "max.h"
+#include "int_max.h"
+/* interfacing min */
+#include "min.h"
+#include "int_min.h"
+/* interfacing pythag */
+#include "pythag.h"
+/* interfacing sign */
+#include "sign.h"
+#include "int_sign.h"
+/* interfacing size */
+#include "size.h"
+#include "int_size.h"
+/* interfacing type */
+#include "type.h"
+#include "int_type.h"
+
+/* ELEMENTARY FUNCTIONS */
+
+/* interfacing acos */
+#include "acos.h"
+#include "int_acos.h"
+/* interfacing acosh */
+#include "acosh.h"
+#include "int_acosh.h"
+/* interfacing asin */
+#include "asin.h"
+#include "int_asin.h"
+/* interfacing asinh */
+#include "asinh.h"
+#include "int_asinh.h"
+/* interfacing atan */
+#include "atan.h"
+#include "atan2.h"
+#include "int_atan.h"
+/* interfacing atanh */
+#include "atanh.h"
+#include "int_atanh.h"
+/* interfacing cos */
+#include "cos.h"
+#include "int_cos.h"
+/* interfacing ceil */
+#include "ceil.h"
+#include "int_ceil.h"
+/* interfacing cosh */
+#include "cosh.h"
+#include "int_cosh.h"
+/* interfacing exp */
+#include "exp.h"
+#include "int_exp.h"
+/* interfacing fix */
+#include "fix.h"
+#include "int_fix.h"
+/* interfacing floor */
+#include "floor.h"
+#include "int_floor.h"
+/* interfacing int */
+#include "int.h"
+#include "int_int.h"
+/* interfacing lnp1m1 */
+#include "lnp1m1.h"
+/* interfacing log */
+#include "log.h"
+#include "int_log.h"
+/* interfacing log10 */
+#include "log10.h"
+#include "int_log10.h"
+/* interfacing log1p */
+#include "log1p.h"
+#include "int_log1p.h"
+/* interfacing pow */
+#include "pow.h"
+#include "matrixPow.h"
+#include "int_OpHat.h"
+#include "int_OpDotHat.h"
+/* interfacing round */
+#include "round.h"
+#include "int_round.h"
+/* interfacing sin */
+#include "sin.h"
+#include "int_sin.h"
+/* interfacing sinh */
+#include "sinh.h"
+#include "int_sinh.h"
+/* interfacing sqrt */
+#include "sqrt.h"
+#include "int_sqrt.h"
+/* interfacing tan */
+#include "tan.h"
+#include "int_tan.h"
+/* interfacing tanh */
+#include "tanh.h"
+#include "int_tanh.h"
+
+/* IMPLICIT LISTS */
+/* interfacing implicitList/OpColon */
+#include "implicitList.h"
+#include "int_OpColon.h"
+
+
+/* OPERATIONS */
+/* interfacing addition */
+#include "addition.h"
+#include "int_OpPlus.h" /* interfacing subtraction */
+#include "subtraction.h"
+#include "int_OpMinus.h" /* interfacing multiplication */
+#include "multiplication.h"
+#include "matrixMultiplication.h"
+#include "int_OpStar.h"
+#include "int_OpDotStar.h"
+/* interfacing division */
+#include "division.h"
+#include "matrixDivision.h"
+#include "int_OpSlash.h"
+#include "int_OpDotSlash.h"
+#include "int_OpBackSlash.h"
+#include "int_OpDotBackSlash.h"
+
+
+
+/* MATRIX OPERATIONS */
+/* interfacing cat */
+#include "cat.h"
+#include "int_OpRc.h"
+#include "int_OpCc.h"
+/* interfacing chol */
+#include "chol.h"
+#include "int_chol.h"
+/* interfacing determinant */
+#include "determ.h"
+#include "int_det.h"
+/* interfacing expm */
+#include "matrixExponential.h"
+#include "int_expm.h"
+/* interfacing eye */
+#include "eye.h"
+#include "int_eye.h"
+/* interfacing fill */
+#include "fill.h"
+/* interfacing inversion */
+#include "matrixInversion.h"
+#include "int_invert.h"
+/* interfacing infinite norm */
+#include "infiniteNorm.h" /* interfacing ones */
+#include "ones.h"
+#include "int_ones.h"
+/* interfacing spec */
+#include "spec.h"
+#include "int_spec.h"
+/* interfacing trace */
+#include "matrixTrace.h"
+#include "int_trace.h"
+/* interfacing tranpose */
+#include "matrixTranspose.h"
+#include "int_OpApex.h"
+#include "int_OpDotApex.h" /* interfacing zeros */
+#include "zeros.h"
+#include "int_zeros.h"
+
+
+
+/* SIGNAL PROCESSING */
+/* interfacing convol */
+#include "conv.h"
+#include "conv2d.h"
+#include "int_convol.h"
+/* interfacing fft */
+#include "fft.h"
+#include "fft_internal.h"
+#include "int_fft.h"
+/* interfacing fftshift */
+#include "fftshift.h"
+#include "int_fftshift.h"
+/* interfacing ifft */
+#include "ifft.h"
+#include "ifft_internal.h"
+#include "int_ifft.h"
+/* interfacing lev */
+#include "lev.h"
+#include "int_lev.h"
+
+
+
+/* STATISTICS FUNCTIONS */
+
+/* interfacing max */
+#include "statMax.h"
+/* interfacing min */
+#include "statMin.h"
+/* interfacing mean */
+#include "mean.h"
+#include "int_mean.h"
+/* interfacing sum */
+#include "sum.h"
+#include "int_sum.h"
+/* interfacing variance */
+#include "variance.h"
+#include "int_variance.h"
+
+/* TYPE */
+/* interfacing real */
+#include "int_real.h"
+/* interfacing imag */
+#include "int_imag.h"
+
diff --git a/macros/CFiles/sci2cincludes/sign.h b/macros/CFiles/sci2cincludes/sign.h
new file mode 120000
index 00000000..8d716662
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sign.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/sign.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/sin.h b/macros/CFiles/sci2cincludes/sin.h
new file mode 120000
index 00000000..f2f41de3
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sin.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/sin.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/sinh.h b/macros/CFiles/sci2cincludes/sinh.h
new file mode 120000
index 00000000..fda6cad4
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sinh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/sinh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/size.h b/macros/CFiles/sci2cincludes/size.h
new file mode 120000
index 00000000..a3c8a9c9
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/size.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/size.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/spec.h b/macros/CFiles/sci2cincludes/spec.h
new file mode 120000
index 00000000..371b2959
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/spec.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/spec.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/sqrt.h b/macros/CFiles/sci2cincludes/sqrt.h
new file mode 120000
index 00000000..9a74c930
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sqrt.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/sqrt.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/statMax.h b/macros/CFiles/sci2cincludes/statMax.h
new file mode 120000
index 00000000..ec2724f6
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/statMax.h
@@ -0,0 +1 @@
+../../../../statisticsFunctions/includes/statMax.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/statMin.h b/macros/CFiles/sci2cincludes/statMin.h
new file mode 120000
index 00000000..9d970e76
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/statMin.h
@@ -0,0 +1 @@
+../../../../statisticsFunctions/includes/statMin.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/subtraction.h b/macros/CFiles/sci2cincludes/subtraction.h
new file mode 120000
index 00000000..b25d3844
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/subtraction.h
@@ -0,0 +1 @@
+../../../../operations/includes/subtraction.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/sum.h b/macros/CFiles/sci2cincludes/sum.h
new file mode 120000
index 00000000..12ea21d1
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/sum.h
@@ -0,0 +1 @@
+../../../../statisticsFunctions/includes/sum.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/tan.h b/macros/CFiles/sci2cincludes/tan.h
new file mode 120000
index 00000000..b38d0d84
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/tan.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/tan.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/tanh.h b/macros/CFiles/sci2cincludes/tanh.h
new file mode 120000
index 00000000..dfa8dbbd
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/tanh.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/tanh.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/type.h b/macros/CFiles/sci2cincludes/type.h
new file mode 120000
index 00000000..d17faeab
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/type.h
@@ -0,0 +1 @@
+../../../../auxiliaryFunctions/includes/type.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/variance.h b/macros/CFiles/sci2cincludes/variance.h
new file mode 120000
index 00000000..1a578cdd
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/variance.h
@@ -0,0 +1 @@
+../../../../statisticsFunctions/includes/variance.h \ No newline at end of file
diff --git a/macros/CFiles/sci2cincludes/zeros.h b/macros/CFiles/sci2cincludes/zeros.h
new file mode 120000
index 00000000..2756152b
--- /dev/null
+++ b/macros/CFiles/sci2cincludes/zeros.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/zeros.h \ No newline at end of file