summaryrefslogtreecommitdiff
path: root/src/c/operations/interfaces/int_OpStar.h
diff options
context:
space:
mode:
authorjofret2009-06-10 06:32:40 +0000
committerjofret2009-06-10 06:32:40 +0000
commit611015afac8063f186be44b384cd33eeb05d9f9d (patch)
treecdd4e5067e5f0d16784f72076661fbe20363b5e5 /src/c/operations/interfaces/int_OpStar.h
parent71b697943942cb31aa09916f0e463012cd851542 (diff)
downloadscilab2c-611015afac8063f186be44b384cd33eeb05d9f9d.tar.gz
scilab2c-611015afac8063f186be44b384cd33eeb05d9f9d.tar.bz2
scilab2c-611015afac8063f186be44b384cd33eeb05d9f9d.zip
Multiplication special case collapsing size.
Diffstat (limited to 'src/c/operations/interfaces/int_OpStar.h')
-rw-r--r--src/c/operations/interfaces/int_OpStar.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h
index f8ef73fe..403b6689 100644
--- a/src/c/operations/interfaces/int_OpStar.h
+++ b/src/c/operations/interfaces/int_OpStar.h
@@ -127,4 +127,16 @@
dfilla(temp,size1[0],size1[1],0);\
z2z2OpStarz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
+/* Vector * Vector, so there is a scalar output */
+
+#define MAX(a, b) (a > b ? a : b)
+
+#define s2s2OpStars0(in1, size1, in2, size2) smulv(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 c2c2OpStarc0(in1, size1, in2, size2) cmulv(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__ */