summaryrefslogtreecommitdiff
path: root/src/operations
diff options
context:
space:
mode:
authortorset2009-01-15 09:03:16 +0000
committertorset2009-01-15 09:03:16 +0000
commit7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f (patch)
tree305d973e71e72513072f03861dcbf0de84460d74 /src/operations
parent5a0b1a8aafdbad657ab35b427c3fdbf2e104aef0 (diff)
downloadscilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.tar.gz
scilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.tar.bz2
scilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.zip
add interfaces
Diffstat (limited to 'src/operations')
-rw-r--r--src/operations/includes/division.h72
-rw-r--r--src/operations/includes/multiplication.h8
-rw-r--r--src/operations/interface/int_DotBackSlash.h16
-rw-r--r--src/operations/interface/int_OpDotSlash.h16
-rw-r--r--src/operations/interface/int_OpDotStar.h16
-rw-r--r--src/operations/interface/int_OpMinus.h16
-rw-r--r--src/operations/interface/int_OpPlus.h22
7 files changed, 90 insertions, 76 deletions
diff --git a/src/operations/includes/division.h b/src/operations/includes/division.h
index e5ff2e3e..103e1cf2 100644
--- a/src/operations/includes/division.h
+++ b/src/operations/includes/division.h
@@ -40,14 +40,11 @@ float srdivs (float in1, float in2);
/*
** \brief Compute a right division element ways for floats.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 ./ in2.
*/
-void srdiva (float* in1, int size1,
- float* in2, int size2,
- float* out );
+void srdiva (float* in1, float* in2, int size, float* out );
/*
** \brief Compute a right division for double.
@@ -60,14 +57,11 @@ double drdivs (double in1, double in2);
/*
** \brief Compute a right division element ways for double.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 ./ in2.
*/
-void drdiva (double* in1, int size1,
- double* in2, int size2,
- double* out );
+void drdiva (double* in1, double* in2, int size, double* out );
/*
** \brief Compute a right division for floats complex.
@@ -80,14 +74,11 @@ floatComplex crdivs (floatComplex in1, floatComplex in2);
/*
** \brief Compute a right division element ways for float complex.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 ./ in2.
*/
-void crdiva(floatComplex* in1, int size1,
- floatComplex* in2, int size2,
- floatComplex* out );
+void crdiva(floatComplex* in1, floatComplex* in2, int size, floatComplex* out );
/*
** \brief Compute a right division for double complex.
@@ -100,14 +91,11 @@ doubleComplex zrdivs (doubleComplex in1, doubleComplex in2);
/*
** \brief Compute a right division element ways for double complex.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 ./ in2.
*/
-void zrdiva(doubleComplex* in1, int size1,
- doubleComplex* in2, int size2,
- doubleComplex* out );
+void zrdiva(doubleComplex* in1, doubleComplex* in2, int size, doubleComplex* out );
/*
** LEFT DIVISION
@@ -124,14 +112,11 @@ float sldivs (float in1, float in2);
/*
** \brief Compute a left division element ways for floats.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 .\ in2.
*/
-void sldiva (float* in1, int size1,
- float* in2, int size2,
- float* out );
+void sldiva (float* in1, float* in2, int size, float* out );
/*
** \brief Compute a left division for double.
@@ -144,14 +129,11 @@ double dldivs (double in1, double in2);
/*
** \brief Compute a left division element ways for double.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 .\ in2.
*/
-void dldiva (double* in1, int size1,
- double* in2, int size2,
- double* out );
+void dldiva (double* in1, double* in2, int size, double* out );
/*
** \brief Compute a left division for floats complex.
@@ -164,14 +146,11 @@ floatComplex cldivs (floatComplex in1, floatComplex in2);
/*
** \brief Compute a left division element ways for float complex.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 .\ in2.
*/
-void cldiva(floatComplex* in1, int size1,
- floatComplex* in2, int size2,
- floatComplex* out );
+void cldiva(floatComplex* in1, floatComplex* in2, int size, floatComplex* out );
/*
** \brief Compute a left division for double complex.
@@ -184,14 +163,11 @@ doubleComplex zldivs (doubleComplex in1, doubleComplex in2);
/*
** \brief Compute a left division element ways for double complex.
** \param in1 : input array.
-** \param size1 : size of in1 array.
-** \param in2 : input arry.
-** \param size2 : size of in2 array.
+** \param in2 : input array.
+** \param size : size of in2 array = rows*columns.
** \param out : array that contains the division in1 .\ in2.
*/
-void zldiva(doubleComplex* in1, int size1,
- doubleComplex* in2, int size2,
- doubleComplex* out );
+void zldiva(doubleComplex* in1, doubleComplex* in2, int size, doubleComplex* out );
diff --git a/src/operations/includes/multiplication.h b/src/operations/includes/multiplication.h
index 04e5c1d7..b8c28dd0 100644
--- a/src/operations/includes/multiplication.h
+++ b/src/operations/includes/multiplication.h
@@ -34,7 +34,7 @@ float smuls(float in1, float in2);
/*
** \brief Compute a multiplication element ways for floats.
** \param in1 : input array.
-** \param in2 : input arry.
+** \param in2 : input array.
** \param size : size of in2 array.
** \param out : array that contains the multiplication = in1 .* in2.
*/
@@ -51,7 +51,7 @@ double dmuls(double in1, double in2);
/*
** \brief Compute a multiplication element ways for double.
** \param in1 : input array.
-** \param in2 : input arry.
+** \param in2 : input array.
** \param size : size of in2 array.
** \param out : array that contains the multiplication = in1 .* in2.
*/
@@ -68,7 +68,7 @@ floatComplex cmuls(floatComplex in1, floatComplex in2);
/*
** \brief Compute a multiplication element ways for complex single precision.
** \param in1 : input array.
-** \param in2 : input arry.
+** \param in2 : input array.
** \param size : size of in2 array.
** \param out : array that contains the multiplication = in1 .* in2.
*/
@@ -85,7 +85,7 @@ doubleComplex zmuls(doubleComplex in1, doubleComplex in2);
/*
** \brief Compute a multiplication element ways for complex double precision.
** \param in1 : input array.
-** \param in2 : input arry.
+** \param in2 : input array.
** \param size: size of in2 array.
** \param out : array that contains the multiplication = in1 .* in2.
*/
diff --git a/src/operations/interface/int_DotBackSlash.h b/src/operations/interface/int_DotBackSlash.h
index c082203e..3c6e15a7 100644
--- a/src/operations/interface/int_DotBackSlash.h
+++ b/src/operations/interface/int_DotBackSlash.h
@@ -73,21 +73,21 @@
/* Matrix .\ Matrix */
-#define s2s2OpDotBackSlashs2(in1,size1,in2,size2,out) sldiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2s2OpDotBackSlashs2(in1,size1,in2,size2,out) sldiva(in1,in2,size2[0]*size2[1],out)
-#define d2d2OpDotBackSlashd2(in1,size1,in2,size2,out) dldiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2d2OpDotBackSlashd2(in1,size1,in2,size2,out) dldiva(in1,in2,size2[0]*size2[1],out)
-#define c2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define c2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,in2,size2[0]*size2[1],out)
-#define c2s2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,size1[0]*size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define c2s2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define s2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-#define z2z2OpDotBackSlashz2(in1,size1,in2,size2,out) zldiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define z2z2OpDotBackSlashz2(in1,size1,in2,size2,out) zldiva(in1,in2,size2[0]*size2[1],out)
-#define z2d2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,size1[0]*size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define z2d2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define d2z2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2z2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
#endif /* !__INT_DOTDotBackSlash_H__ */
diff --git a/src/operations/interface/int_OpDotSlash.h b/src/operations/interface/int_OpDotSlash.h
index bc56ef06..a745b77c 100644
--- a/src/operations/interface/int_OpDotSlash.h
+++ b/src/operations/interface/int_OpDotSlash.h
@@ -73,21 +73,21 @@
/* Matrix ./ Matrix */
-#define s2s2OpDotSlashs2(in1,size1,in2,size2,out) srdiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2s2OpDotSlashs2(in1,size1,in2,size2,out) srdiva(in1,in2,size2[0]*size2[1],out)
-#define d2d2OpDotSlashd2(in1,size1,in2,size2,out) drdiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2d2OpDotSlashd2(in1,size1,in2,size2,out) drdiva(in1,in2,size2[0]*size2[1],out)
-#define c2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define c2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,in2,size2[0]*size2[1],out)
-#define c2s2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,size1[0]*size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define c2s2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define s2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-#define z2z2OpDotSlashz2(in1,size1,in2,size2,out) zrdiva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define z2z2OpDotSlashz2(in1,size1,in2,size2,out) zrdiva(in1,in2,size2[0]*size2[1],out)
-#define z2d2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,size1[0]*size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define z2d2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define d2z2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2z2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
diff --git a/src/operations/interface/int_OpDotStar.h b/src/operations/interface/int_OpDotStar.h
index 8adfee87..d996c0c7 100644
--- a/src/operations/interface/int_OpDotStar.h
+++ b/src/operations/interface/int_OpDotStar.h
@@ -73,21 +73,21 @@
/* Matrix .* Matrix */
-#define s2s2OpDotStars2(in1,size1,in2,size2,out) smula(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2s2OpDotStars2(in1,size1,in2,size2,out) smula(in1,in2,size2[0]*size2[1],out)
-#define d2d2OpDotStard2(in1,size1,in2,size2,out) dmula(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2d2OpDotStard2(in1,size1,in2,size2,out) dmula(in1,in2,size2[0]*size2[1],out)
-#define c2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define c2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,in2,size2[0]*size2[1],out)
-#define c2s2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,size1[0]*size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define c2s2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define s2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define s2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,in2,size2[0]*size2[1],out)
-#define z2d2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,size1[0]*size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define z2d2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-#define d2z2OpDotStarc2(in1,size1,in2,size2,out) cmula(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0]*size1[1],in2,size2[0]*size2[1],out)
+#define d2z2OpDotStarc2(in1,size1,in2,size2,out) cmula(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
#endif /* !__INT_OPDOTSTAR_H__ */
diff --git a/src/operations/interface/int_OpMinus.h b/src/operations/interface/int_OpMinus.h
index 6d925c3d..ccdf32df 100644
--- a/src/operations/interface/int_OpMinus.h
+++ b/src/operations/interface/int_OpMinus.h
@@ -70,6 +70,22 @@
#define z2d0OpMinusz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(in1[i],DoubleComplex(in2,0));
+/* Matrix - Matrix */
+#define s2s2OpMinuss2(in1,size1,in2,size2,out) sdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define d2d2OpMinusd2(in1,size1,in2,size2,out) ddiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define c2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define c2s2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], FloatComplexMatrix(in2,0,size2[0]*size2[1]), size2[0]*size2[1], out)
+
+#define s2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(FloatComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define z2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define z2d2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], DoubleComplexMatrix(in2,0,size2[0]*size2[1]), size2[0]*size2[1], out)
+
+#define d2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(DoubleComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
#endif /* !__INT_OPMINUS_H__ */
diff --git a/src/operations/interface/int_OpPlus.h b/src/operations/interface/int_OpPlus.h
index 7cfe31d8..8e56692c 100644
--- a/src/operations/interface/int_OpPlus.h
+++ b/src/operations/interface/int_OpPlus.h
@@ -74,5 +74,27 @@
#define z0d2OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(in1,DoubleComplex(in2[i],0))
+/* Matrix + Matrix */
+
+#define s2s2OpPluss2(in1,size1,in2,size2,out) sadda(in1, size1[0]*size1[1], in2, size2[0]*siz2e[1], out)
+
+#define d2d2OpPlusd2(in1,size1,in2,size2,out) dadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define c2c2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define s2c2OpPlusc2(in1,size1,in2,size2,out) cadda(FloatComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define c2s2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*siz1e[1], FloatComplexMatrix(in2,0,size2[0]*size2[1]), size2[0]*size2[1], out)
+
+#define z2z2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define d2z2OpPlusz2(in1,size1,in2,size2,out) zadda(DoubleComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define z2d2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], DoubleComplexMatrix(in2,0,size2[0]*size2[1]), size2[0]*size2[1], out)
+
+
+
+
+
#endif /* !__INT_OPPLUS_H__ */