diff options
-rw-r--r-- | src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci | 68 | ||||
-rw-r--r-- | src/operations/interface/int_OpDotStar.h | 64 | ||||
-rw-r--r-- | src/operations/interface/int_OpMinus.h | 13 | ||||
-rw-r--r-- | src/operations/interface/int_OpPlus.h | 12 | ||||
-rw-r--r-- | src/operations/interface/int_OpStar.h | 16 |
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);} |