From b8c97a6580ea62ca9480504e66be2b2f5b1dc2ef Mon Sep 17 00:00:00 2001
From: imushir
Date: Mon, 28 Dec 2015 15:25:30 +0530
Subject: added support for uint8 uint16 int8 & int16 for sum

---
 src/c/statisticsFunctions/sum/u8rowsuma.c | 34 +++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 src/c/statisticsFunctions/sum/u8rowsuma.c

(limited to 'src/c/statisticsFunctions/sum/u8rowsuma.c')

diff --git a/src/c/statisticsFunctions/sum/u8rowsuma.c b/src/c/statisticsFunctions/sum/u8rowsuma.c
new file mode 100644
index 00000000..938af400
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u8rowsuma.c
@@ -0,0 +1,34 @@
+/*
+ *  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
+ *
+ */
+
+#include "sum.h"
+
+void u8rowsuma(uint8 *in, int lines, int columns, uint8 * out) {
+  int i = 0;
+
+  /*
+  ** First assign first row, just in case
+  ** out contains non-zero's elements.
+  */
+  for (i = 0 ; i < columns; ++i)
+    {
+      out[i] = (uint8)in[i * lines];
+    }
+  /*
+  ** Then accumulate in each column.
+  */
+  for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+    {
+      out[(i - 1) % columns] = (uint8)u8adds( out[(i - 1) % columns] ,
+				      in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+    }
+}
-- 
cgit