diff options
Diffstat (limited to 'interfaces/int_OpPlus.h')
-rw-r--r-- | interfaces/int_OpPlus.h | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/interfaces/int_OpPlus.h b/interfaces/int_OpPlus.h new file mode 100644 index 0000000..a5731d4 --- /dev/null +++ b/interfaces/int_OpPlus.h @@ -0,0 +1,185 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */ + +#ifndef __INT_OPPLUS_H__ +#define __INT_OPPLUS_H__ + + +/* Scalar + Scalar */ + +#define s0s0OpPluss0(in1,in2) sadds(in1,in2) + +#define d0d0OpPlusd0(in1,in2) dadds(in1,in2) + +#define c0c0OpPlusc0(in1,in2) cadds(in1,in2) + +#define z0z0OpPlusz0(in1,in2) zadds(in1,in2) + +#define s0c0OpPlusc0(in1,in2) cadds(FloatComplex(in1,0),in2) + +#define c0s0OpPlusc0(in1,in2) cadds(in1,FloatComplex(in2,0)) + +#define d0z0OpPlusz0(in1,in2) zadds(DoubleComplex(in1,0),in2) + +#define z0d0OpPlusz0(in1,in2) zadds(in1,DoubleComplex(in2,0)) + +#define u80u80OpPlusu80(in1,in2) u8adds(in1,in2) + +#define i80i80OpPlusi80(in1,in2) i8adds(in1,in2) + +#define u160u160OpPlusu160(in1,in2) u16adds(in1,in2) + +#define i160i160OpPlusi160(in1,in2) i16adds(in1,in2) + +/* Matrix + Scalar */ + +#define s2s0OpPluss2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +#define d2d0OpPlusd2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +#define c2c0OpPlusc2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1[i],in2);\ + } + +/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c2c0...c2*/ +#define c2s0OpPlusc2(in1,size,in2,out) c2c0OpPlusc2(in1,size,FloatComplex(in2,0),out) + +#define s2c0OpPlusc2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2);\ + } + +#define z2z0OpPlusz2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1[i],in2);\ + } + +/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z2z0...z2*/ +#define z2d0OpPlusz2(in1,size,in2,out) z2z0OpPlusz2(in1,size,DoubleComplex(in2,0),out) + +#define d2z0OpPlusz2(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2);\ + } + +#define u82u80OpPlusu82(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +#define i82i80OpPlusi82(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +#define u162u160OpPlusu162(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +#define i162i160OpPlusi162(in1,size,in2,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\ + } + +/* 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];\ + } + +#define d0d2OpPlusd2(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\ + } + +#define c0c2OpPlusc2(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,in2[i]);\ + } + +/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c0c2...c2*/ +#define s0c2OpPlusc2(in1,in2,size,out) c0c2OpPlusc2(FloatComplex(in1,0),in2,size,out) + +#define c0s2OpPlusc2(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,FloatComplex(in2[i],0));\ + } + +#define z0z2OpPlusz2(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,in2[i]);\ + } + +/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z0z2...z2*/ +#define d0z2OpPlusz2(in1,in2,size,out) z0z2OpPlusz2(DoubleComplex(in1,0),in2,size,out) + +#define z0d2OpPlusz2(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,DoubleComplex(in2[i],0));\ + } + +#define u80u82OpPlusu82(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\ + } + +#define i80i82OpPlusi82(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\ + } + +#define u160u162OpPlusu162(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\ + } + +#define i160i162OpPlusi162(in1,in2,size,out) {int i=0;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\ + } + +/* Matrix + Matrix */ + +#define s2s2OpPluss2(in1,size1,in2,size2,out) sadda(in1, size1[0]*size1[1], in2, size2[0]*size2[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) {int i=0;\ + 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<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<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<size1[0]*size2[1];i++) out[i]=zadds(in1[i],DoubleComplex(in2[i],0));\ + } + +#define u82u82OpPlusu82(in1,size1,in2,size2,out) u8adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) + +#define i82i82OpPlusi82(in1,size1,in2,size2,out) i8adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) + +#define u162u162OpPlusu162(in1,size1,in2,size2,out) u16adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) + +#define i162i162OpPlusi162(in1,size1,in2,size2,out) i16adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) +/* Strings */ +/* RNU: size1[1]-1 -> "-1" because '\0' of the first string must be removed. */ +#define g2g2OpPlusg2(in1,size1,in2,size2,out) {int i = 0, j = 0; \ + for(i = 0 ; i < size1[1]-1 ; ++i, ++j) out[j] = in1[i]; \ + for(i = 0 ; i < size2[1] ; ++i, ++j) out[j] = in2[i]; \ + } + + +#endif /* !__INT_OPPLUS_H__ */ |