From 22a12a03ebcfbe3dacf5341d65a2e6330a98199a Mon Sep 17 00:00:00 2001 From: torset Date: Mon, 23 Feb 2009 15:15:42 +0000 Subject: Update few files --- src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpExt.h | 94 ++++++ src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpIns.h | 337 +++++++++++++++++++++ .../Scilab2C/CFiles/sci2cincludes/OpLogEq.h | 70 +++-- .../Scilab2C/CFiles/sci2cincludes/OpLogGe.h | 13 +- .../Scilab2C/CFiles/sci2cincludes/OpLogGt.h | 14 +- .../Scilab2C/CFiles/sci2cincludes/OpLogLe.h | 14 +- .../Scilab2C/CFiles/sci2cincludes/OpLogLt.h | 14 +- .../Scilab2C/CFiles/sci2cincludes/OpLogNe.h | 98 ++++++ .../Scilab2C/CFiles/sci2cincludes/sci2clib.h | 1 + 9 files changed, 628 insertions(+), 27 deletions(-) create mode 100644 src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogNe.h (limited to 'src/Scilab2C') diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpExt.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpExt.h index d30344cb..7d8a77f7 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpExt.h +++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpExt.h @@ -7,8 +7,102 @@ ** 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 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= in2) @@ -24,4 +25,12 @@ void s2s0OpLogGes2(float* in1, int* in1Size, float in2, float* out); (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 in2) @@ -24,4 +26,12 @@ void s2s0OpLogGts2(float* in1, int* in1Size, float in2, float* out); (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