From db464f35f5a10b58d9ed1085e0b462689adee583 Mon Sep 17 00:00:00 2001 From: Siddhesh Wani Date: Mon, 25 May 2015 14:46:31 +0530 Subject: Original Version --- src/c/operations/interfaces/int_OpStar.h | 151 +++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 src/c/operations/interfaces/int_OpStar.h (limited to 'src/c/operations/interfaces/int_OpStar.h') diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h new file mode 100644 index 00000000..52ff221c --- /dev/null +++ b/src/c/operations/interfaces/int_OpStar.h @@ -0,0 +1,151 @@ +/* + * 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_OPSTAR_H__ +#define __INT_OPSTAR_H__ + +/* Scalar * Scalar */ + +#define s0s0OpStars0(in1,in2) smuls(in1,in2) + +#define d0d0OpStard0(in1,in2) dmuls(in1,in2) + +#define c0c0OpStarc0(in1,in2) cmuls(in1,in2) + +#define z0z0OpStarz0(in1,in2) zmuls(in1,in2) + +#define s0c0OpStarc0(in1,in2) cmuls(FloatComplex(in1,0),in2) + +#define c0s0OpStarc0(in1,in2) cmuls(in1,FloatComplex(in2,0)) + +#define d0z0OpStarz0(in1,in2) zmuls(DoubleComplex(in1,0),in2) + +#define z0d0OpStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0)) + + +/* Scalar * Matrix */ + + +#define s0s2OpStars2(in1,in2,size,out) {int i=0;\ + for (i=0;i b ? a : b) + +#define s2s2OpStars0(in1, size1, in2, size2) smulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define c2s2OpStarc0(in1, size1, in2, size2) cmulcsv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define s2c2OpStarc0(in1, size1, in2, size2) cmulscv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define c2c2OpStarc0(in1, size1, in2, size2) cmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + + +#define d2d2OpStard0(in1, size1, in2, size2) dmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define z2d2OpStarz0(in1, size1, in2, size2) zmulzdv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define d2z2OpStarz0(in1, size1, in2, size2) zmuldzv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#define z2z2OpStarz0(in1, size1, in2, size2) zmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1]))) + +#endif /* !__INT_OPSTAR_H__ */ -- cgit From f39c271ca3fbf737612350a7f1c6af7e2c7022f9 Mon Sep 17 00:00:00 2001 From: Siddhesh Wani Date: Thu, 30 Jul 2015 17:06:28 +0530 Subject: Added new data types. Support for few functions with new data types added. These changes requires proper testing --- src/c/operations/interfaces/int_OpStar.h | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/c/operations/interfaces/int_OpStar.h') diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h index 52ff221c..0dbd0792 100644 --- a/src/c/operations/interfaces/int_OpStar.h +++ b/src/c/operations/interfaces/int_OpStar.h @@ -33,7 +33,46 @@ #define z0d0OpStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0)) +#define u80u80OpStaru80(in1,in2) (uint8)(in1 * in2) +#define u80u80OpStaru160(in1,in2) (uint16)(in1 * in2) + +#define u80i80OpStari80(in1,in2) (int8)(in1 * in2) + +#define u80u80OpStari160(in1,in2) (int16)(in1 * in2) + +#define u80u160OpStaru160(in1,in2) (uint16)(in1 * in2) + +#define u80i160OpStari160(in1,in2) (int16)(in1 * in2) + +#define i80u80OpStari80(in1,in2) (int8)(in1 * in2) + +#define i80u80OpStari160(in1,in2) (int16)(in1 * in2) + +#define i80i80OpStari80(in1,in2) (int8)(in1 * in2) + +#define i80i80OpStari160(in1,in2) (int16)(in1 * in2) + + +#define i80u160OpStari160(in1,in2) (int16)(in1 * in2) + +#define i80i160OpStari160(in1,in2) (int16)(in1 * in2) + +#define u160u80OpStaru160(in1,in2) (uint16)(in1 * in2) + +#define u160i80OpStari160(in1,in2) (int16)(in1 * in2) + +#define u160u160OpStaru160(in1,in2) (uint16)(in1 * in2) + +#define u160i160OpStari160(in1,in2) (int16)(in1 * in2) + +#define i160u80OpStari160(in1,in2) (int16)(in1 * in2) + +#define i160i80OpStari160(in1,in2) (int16)(in1 * in2) + +#define i160u160OpStari160(in1,in2) (int16)(in1 * in2) + +#define i160i160OpStari160(in1,in2) (int16)(in1 * in2) /* Scalar * Matrix */ -- cgit From aba32804a6cbd6fb16e13e86364e643022a2941a Mon Sep 17 00:00:00 2001 From: Siddhesh Wani Date: Thu, 6 Aug 2015 01:10:39 +0530 Subject: Multiplication tested for new data types --- src/c/operations/interfaces/int_OpStar.h | 75 +++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 21 deletions(-) (limited to 'src/c/operations/interfaces/int_OpStar.h') diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h index 0dbd0792..53f39e89 100644 --- a/src/c/operations/interfaces/int_OpStar.h +++ b/src/c/operations/interfaces/int_OpStar.h @@ -33,49 +33,48 @@ #define z0d0OpStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0)) -#define u80u80OpStaru80(in1,in2) (uint8)(in1 * in2) +#define u80u80OpStaru80(in1,in2) u8muls(in1, in2) -#define u80u80OpStaru160(in1,in2) (uint16)(in1 * in2) +//#define u80u80OpStaru160(in1,in2) (uint16)(in1 * in2) -#define u80i80OpStari80(in1,in2) (int8)(in1 * in2) +//#define u80i80OpStari80(in1,in2) (int8)(in1 * in2) -#define u80u80OpStari160(in1,in2) (int16)(in1 * in2) +//#define u80i80OpStari160(in1,in2) (int16)(in1 * in2) -#define u80u160OpStaru160(in1,in2) (uint16)(in1 * in2) +//#define u80u160OpStaru160(in1,in2) (uint16)(in1 * in2) -#define u80i160OpStari160(in1,in2) (int16)(in1 * in2) +//#define u80i160OpStari160(in1,in2) (int16)(in1 * in2) -#define i80u80OpStari80(in1,in2) (int8)(in1 * in2) +//#define i80u80OpStari80(in1,in2) (int8)(in1 * in2) -#define i80u80OpStari160(in1,in2) (int16)(in1 * in2) +//#define i80u80OpStari160(in1,in2) (int16)(in1 * in2) -#define i80i80OpStari80(in1,in2) (int8)(in1 * in2) +#define i80i80OpStari80(in1,in2) (int8)(in1 , in2) -#define i80i80OpStari160(in1,in2) (int16)(in1 * in2) +//#define i80i80OpStari160(in1,in2) (int16)(in1 * in2) +//#define i80u160OpStari160(in1,in2) (int16)(in1 * in2) -#define i80u160OpStari160(in1,in2) (int16)(in1 * in2) +//#define i80i160OpStari160(in1,in2) (int16)(in1 * in2) -#define i80i160OpStari160(in1,in2) (int16)(in1 * in2) +//#define u160u80OpStaru160(in1,in2) (uint16)(in1 * in2) -#define u160u80OpStaru160(in1,in2) (uint16)(in1 * in2) +//#define u160i80OpStari160(in1,in2) (int16)(in1 * in2) -#define u160i80OpStari160(in1,in2) (int16)(in1 * in2) +#define u160u160OpStaru160(in1,in2) u16muls(in1 , in2) -#define u160u160OpStaru160(in1,in2) (uint16)(in1 * in2) +//#define u160i160OpStari160(in1,in2) (int16)(in1 * in2) -#define u160i160OpStari160(in1,in2) (int16)(in1 * in2) +//#define i160u80OpStari160(in1,in2) (int16)(in1 * in2) -#define i160u80OpStari160(in1,in2) (int16)(in1 * in2) +//#define i160i80OpStari160(in1,in2) (int16)(in1 * in2) -#define i160i80OpStari160(in1,in2) (int16)(in1 * in2) +//#define i160u160OpStari160(in1,in2) (int16)(in1 * in2) -#define i160u160OpStari160(in1,in2) (int16)(in1 * in2) +#define i160i160OpStari160(in1,in2) i16muls(in1 , in2) -#define i160i160OpStari160(in1,in2) (int16)(in1 * in2) /* Scalar * Matrix */ - #define s0s2OpStars2(in1,in2,size,out) {int i=0;\ for (i=0;i