summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/c/fSum2.c
diff options
context:
space:
mode:
authorLeo Chan <leochanj@live.unc.edu>2020-10-22 01:53:21 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 01:56:35 -0400
commitd17b33131c14864bd1eae275f49a3f148e21cf29 (patch)
tree0d8f77922e8d193cb0f6edab83018f057aad64a0 /SD-VBS/common/c/fSum2.c
parent601ed25a4c5b66cb75315832c15613a727db2c26 (diff)
Squashed commit of the sb-vbs branch.
Includes the SD-VBS benchmarks modified to: - Use libextra to loop as realtime jobs - Preallocate memory before starting their main computation - Accept input via stdin instead of via argc Does not include the SD-VBS matlab code. Fixes libextra execution in LITMUS^RT.
Diffstat (limited to 'SD-VBS/common/c/fSum2.c')
-rw-r--r--SD-VBS/common/c/fSum2.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/SD-VBS/common/c/fSum2.c b/SD-VBS/common/c/fSum2.c
new file mode 100644
index 0000000..8078249
--- /dev/null
+++ b/SD-VBS/common/c/fSum2.c
@@ -0,0 +1,56 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "sdvbs_common.h"
6
7F2D* fSum2(F2D* inMat, int dir)
8{
9 F2D *outMat;
10 int rows, cols, i, j, k;
11 float temp;
12 int newRow, newCols;
13
14 rows = inMat->height;
15 cols = inMat->width;
16
17 if(dir == 1)
18 {
19 newRow = 1;
20 newCols = cols;
21 }
22 else
23 {
24 newRow = rows;
25 newCols = 1;
26 }
27
28 outMat = fSetArray(newRow,newCols,0);
29
30 if(dir == 1)
31 {
32 for (i=0; i<cols; i++)
33 {
34 temp = 0;
35 for( j=0; j<rows; j++)
36 temp = temp + subsref(inMat,j,i);
37 asubsref(outMat,i) = temp;
38 }
39 }
40 else
41 {
42 for( i=0; i<rows; i++)
43 {
44 temp = 0;
45 for( j=0; j<cols; j++)
46 temp = temp + subsref(inMat,i,j);
47 subsref(outMat,i,0) = temp;
48 }
49 }
50
51 return outMat;
52}
53
54
55
56