diff options
Diffstat (limited to 'src/c/operations')
-rw-r--r-- | src/c/operations/interfaces/int_OpLogNot.h | 25 | ||||
-rw-r--r-- | src/c/operations/interfaces/int_OpStar.h | 4 | ||||
-rw-r--r-- | src/c/operations/multiplication/u8mula.c | 21 |
3 files changed, 48 insertions, 2 deletions
diff --git a/src/c/operations/interfaces/int_OpLogNot.h b/src/c/operations/interfaces/int_OpLogNot.h index 6184265..852cd1c 100644 --- a/src/c/operations/interfaces/int_OpLogNot.h +++ b/src/c/operations/interfaces/int_OpLogNot.h @@ -23,6 +23,14 @@ #define z0OpLogNotz0(in) (zreals(in)==0) ? DoubleComplex(1,0) : DoubleComplex(0,0) +#define u8OpLogNotu80(in) (in==0) ? (uint8)1 : (uint8)0 + +#define i8OpLogNoti80(in) (in==0) ? (int8)1 : (int8)0 + +#define u16OpLogNotu160(in) (in==0) ? (uint16)1 : (uint16)0 + +#define i16OpLogNoti160(in) (in==0) ? (int16)1 : (int16)0 + #define s2OpLogNots2(in,size,out) {int i;\ for (i=0;i<size[0]*size[1];i++) out[i]=s0OpLogNots0(in[i]);\ } @@ -39,4 +47,21 @@ for (i=0;i<size[0]*size[1];i++) out[i]=z0OpLogNotz0(in[i]);\ } +#define u82OpLogNotu82(in,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=u80OpLogNotu80(in[i]);\ + } + +#define i82OpLogNoti82(in,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=i80OpLogNoti80(in[i]);\ + } + +#define u162OpLogNotu162(in,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=u160OpLogNoti160(in[i]);\ + } + +#define i162OpLogNoti162(in,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=i160OpLogNotu160(in[i]);\ + } + + #endif /* !__INT_OPLOGNOT_H__ */ diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h index 53f39e8..f899a29 100644 --- a/src/c/operations/interfaces/int_OpStar.h +++ b/src/c/operations/interfaces/int_OpStar.h @@ -112,7 +112,7 @@ #define u160u162OpStaru162(in1,in2,size,out) {int i=0;\ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];} -#define i160162OpStari162(in1,in2,size,out) {int i=0;\ +#define i160i162OpStari162(in1,in2,size,out) {int i=0;\ for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];} /* Matrix * Scalar */ @@ -156,7 +156,7 @@ #define u162u160OpStaru162(in1,size,in2,out) {int i=0;\ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;} -#define i162160OpStari162(in1,size,in2,out) {int i=0;\ +#define i162i160OpStari162(in1,size,in2,out) {int i=0;\ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;} diff --git a/src/c/operations/multiplication/u8mula.c b/src/c/operations/multiplication/u8mula.c new file mode 100644 index 0000000..79d4330 --- /dev/null +++ b/src/c/operations/multiplication/u8mula.c @@ -0,0 +1,21 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET + * + * 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 + * + */ + + +#include "multiplication.h" + +void u8mula(uint8* in1, uint8* in2, int size, uint8* out){ + int i=0; + for (i=0;i<size;i++){ + out[i]=dmuls(in1[i],in2[i]); + } +} |