summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci68
-rw-r--r--src/operations/interface/int_OpDotStar.h64
-rw-r--r--src/operations/interface/int_OpMinus.h13
-rw-r--r--src/operations/interface/int_OpPlus.h12
-rw-r--r--src/operations/interface/int_OpStar.h16
5 files changed, 105 insertions, 68 deletions
diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
index 33d1dfcc..f0958f7a 100644
--- a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
+++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
@@ -1,20 +1,56 @@
-//SCI2C: DEFAULT_PRECISION= FLOAT
+//SCI2C: DEFAULT_PRECISION= DOUBLE
function mainfunction()
-a=[1 2 3 4; 5 6 7 8; 9 1 2 3; 4 5 6 7; 8 9 1 2]
-
-disp(acosh(a))
-
-
-b=acosh(.10)
-disp(b)
-
-c=a/10
-disp(acosh(c));
-
-d=acosh(2+3*%i)
-disp(d)
-
-disp(acosh(c+%i));
+//test multiplication
+
+//d0d0
+disp (5*3)
+//d0z0
+disp (1*%i)
+//z0d0
+disp (%i*1)
+//z0z0
+disp (%i*3*%i)
+
+a=[1 2 3; 4 5 6]
+c=[4 2 3 ;8 8 4; 3 4 5]
+b=[1+%i,2+4*%i 3+1*%i; 4 5 6+2*%i]
+d=[4 2 3 ;8 8-1*%i 4; 3+4*%i 4 5]
+e=[4 2 ;3 8 ;8-1*%i 4; 3+4*%i 4]
+
+//d2d2
+disp(a*c)
+disp(a.*a)
+//d2z2
+disp(a*d)
+disp(a.*b)
+//z2d2
+disp(e*a)
+disp(b.*a)
+//z2z2
+disp(b*d)
+disp(b.*b)
+
+
+
+
+//d2d0
+disp(a*1)
+//d0d2
+disp(1*a)
+//d2z0
+disp(a*%i)
+//z0d2
+disp(%i*a)
+
+
+//z2d0
+disp(b*1)
+//d0z2
+disp(1*b)
+//z2z0
+disp(b*%i)
+//z0z2
+disp(%i*b)
endfunction
diff --git a/src/operations/interface/int_OpDotStar.h b/src/operations/interface/int_OpDotStar.h
index bc771c74..22e09a92 100644
--- a/src/operations/interface/int_OpDotStar.h
+++ b/src/operations/interface/int_OpDotStar.h
@@ -36,48 +36,48 @@
/* Scalar .* Matrix */
-#define s0s2OpDotStars2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);}
+#define s0s2OpDotStars2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);}
-#define d0d2OpDotStard2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);}
+#define d0d2OpDotStard2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);}
-#define c0c2OpDotStarc2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,in2[i]);}
+#define c0c2OpDotStarc2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,in2[i]);}
-#define z0z2OpDotStarz2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);}
+#define z0z2OpDotStarz2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);}
#define s0c2OpDotStarc2(in1,in2,size,out) c0c2OpDotStarc2(FloatComplex(in1,0),in2,size,out)
#define d0z2OpDotStarz2(in1,in2,size,out) z0z2OpDotStarz2(DoubleComplex(in1,0),in2,size,out)
-#define c0s2OpDotStarc2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));}
+#define c0s2OpDotStarc2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));}
-#define z0d2OpDotStarz2(in1,in2,size,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));}
+#define z0d2OpDotStarz2(in1,in2,size,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));}
/* Matrix .* Scalar */
-#define s2s0OpDotStars2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);}
+#define s2s0OpDotStars2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);}
-#define d2d0OpDotStard2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);}
+#define d2d0OpDotStard2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);}
-#define c2c0OpDotStarc2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],in2);}
+#define c2c0OpDotStarc2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],in2);}
-#define z2z0OpDotStarz2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],in2);}
+#define z2z0OpDotStarz2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],in2);}
-#define s2c0OpDotStarc2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);}
+#define s2c0OpDotStarc2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);}
-#define d2z0OpDotStarz2(in1,size,in2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);}
+#define d2z0OpDotStarz2(in1,size,in2,out) {int i=0;\
+ for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);}
#define c2s0OpDotStarc2(in1,size,in2,out) c2c0OpDotStarc2(in1,size,FloatComplex(in2,0),out)
@@ -94,18 +94,18 @@
#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,in2,size1[0]*size2[1],out)
-#define c2s2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2[i],0),out)}
+#define c2s2OpDotStarc2(in1,size1,in2,size2,out) {int i=0;\
+ for(i=0;i<size1[0]*size2[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2[i],0));}
-#define s2c2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2[i],out)}
+#define s2c2OpDotStarc2(in1,size1,in2,size2,out) {int i=0;\
+ for(i=0;i<size1[0]*size2[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2[i]);}
-#define z2d2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2[i],0),out)}
+#define z2d2OpDotStarz2(in1,size1,in2,size2,out) {int i=0;\
+ for(i=0;i<size1[0]*size2[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2[i],0));}
-#define d2z2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
- for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2[i],out)}
+#define d2z2OpDotStarz2(in1,size1,in2,size2,out) {int i=0;\
+ for(i=0;i<size1[0]*size2[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2[i]);}
#endif /* !__INT_OPDOTSTAR_H__ */
diff --git a/src/operations/interface/int_OpMinus.h b/src/operations/interface/int_OpMinus.h
index e63f3658..5dfde1d5 100644
--- a/src/operations/interface/int_OpMinus.h
+++ b/src/operations/interface/int_OpMinus.h
@@ -108,8 +108,9 @@
#define d0z2OpMinusz2(in1,in2,size,out) z0z2OpMinusz2(DoubleComplex(in1,0),in2,size,out)
-#define z0d2OpMinusz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0);\
- z0z2OpMinusz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
+#define z0d2OpMinusz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,DoubleComplex(in2[i],0));\
+ }
@@ -123,21 +124,21 @@
#define s2c2OpMinusc2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]);}
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]);}
#define c2s2OpMinusc2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1[i],FloatComplex(in2[i],0));}
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(in1[i],FloatComplex(in2[i],0));}
#define z2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
#define d2z2OpMinusz2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]);}
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]);}
#define z2d2OpMinusz2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0));}
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0));}
diff --git a/src/operations/interface/int_OpPlus.h b/src/operations/interface/int_OpPlus.h
index 80cc191a..512b0bfb 100644
--- a/src/operations/interface/int_OpPlus.h
+++ b/src/operations/interface/int_OpPlus.h
@@ -72,11 +72,11 @@
/* Scalar + Matrix */
#define s0s2OpPluss2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2;[i]\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
}
#define d0d2OpPlusd2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2;[i]\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
}
#define c0c2OpPlusc2(in1,in2,size,out) {int i=0;\
@@ -113,23 +113,23 @@
#define s2c2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2[i]);\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2[i]);\
}
#define c2s2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1[i],FloatComplex(in2[i],0));\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=cadds(in1[i],FloatComplex(in2[i],0));\
}
#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) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2[i]);\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2[i]);\
}
#define z2d2OpPlusz2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1[i],DoubleComplex(in2[i],0));\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=zadds(in1[i],DoubleComplex(in2[i],0));\
}
diff --git a/src/operations/interface/int_OpStar.h b/src/operations/interface/int_OpStar.h
index 14456060..f8ef73fe 100644
--- a/src/operations/interface/int_OpStar.h
+++ b/src/operations/interface/int_OpStar.h
@@ -38,11 +38,11 @@
#define s0s2OpStars2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
#define d0d2OpStard2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
#define c0c2OpStarc2(in1,in2,size,out) {int i=0;\
@@ -69,11 +69,11 @@
#define s2s0OpStars2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
#define d2d0OpStard2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
#define c2c0OpStarc2(in1,size,in2,out) {int i=0;\
@@ -88,7 +88,7 @@
#define d2z0OpStarz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(DoubleComplex(in1[i],0),in2);}
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(DoubleComplex(in1[i],0),in2);}
#define c2s0OpStarc2(in1,size,in2,out) c2c0OpStarc2(in1,size,FloatComplex(in2,0),out)
@@ -115,14 +115,14 @@
#define s2c2OpStarc2(in1,size1,in2,size2,out) {float* temp;\
temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
sfilla(temp,size1[0],size1[1],0);\
- c2c2OpStarc2(FloatComplexMatrix(in2,temp,size1[0]*size1[1]), size1, in2, size2, out);}
+ c2c2OpStarc2(FloatComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-#define z2d2OpStarc2(in1,size1,in2,size2,out) {double* temp;\
+#define z2d2OpStarz2(in1,size1,in2,size2,out) {double* temp;\
temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
dfilla(temp,size2[0],size2[1],0);\
z2z2OpStarz2(in1, size1, DoubleComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-#define d2z2OpStarc2(in1,size1,in2,size2,out) {double* temp;\
+#define d2z2OpStarz2(in1,size1,in2,size2,out) {double* temp;\
temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
dfilla(temp,size1[0],size1[1],0);\
z2z2OpStarz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}