diff options
author | jofret | 2010-06-21 06:24:38 +0000 |
---|---|---|
committer | jofret | 2010-06-21 06:24:38 +0000 |
commit | 8b44229ef44f0558ce045e46ff833fb44df913c9 (patch) | |
tree | 4fdd89b2258c18c905d2f17ef4bea8ea9cf32893 /macros/CFiles/sci2cincludes/OpExt.h | |
parent | af0366230e14cc75d9e9a183375ee9cb69fb46b6 (diff) | |
download | scilab2c-release-2.0.tar.gz scilab2c-release-2.0.tar.bz2 scilab2c-release-2.0.zip |
Tagging the 2.0 release of scilab2crelease-2.0
Diffstat (limited to 'macros/CFiles/sci2cincludes/OpExt.h')
-rw-r--r-- | macros/CFiles/sci2cincludes/OpExt.h | 108 |
1 files changed, 108 insertions, 0 deletions
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__ */ |