summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/c/iSort.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/iSort.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/iSort.c')
-rw-r--r--SD-VBS/common/c/iSort.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/SD-VBS/common/c/iSort.c b/SD-VBS/common/c/iSort.c
new file mode 100644
index 0000000..5dbdfb9
--- /dev/null
+++ b/SD-VBS/common/c/iSort.c
@@ -0,0 +1,43 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "sdvbs_common.h"
6
7I2D* iSort(I2D* in, int dim)
8{
9 I2D *sorted;
10 int rows, cols, i, j, k, temp;
11
12 rows = in->height;
13 cols = in->width;
14
15 sorted = iDeepCopy(in);
16
17 for(k=0; k<cols; k++)
18 {
19 for(i=0; i<rows; i++)
20 {
21 for(j=i+1; j<rows; j++)
22 {
23 int sik, sjk;
24 sik = subsref(sorted,i,k);
25 sjk = subsref(sorted,j,k);
26
27 if(sik < sjk)
28 {
29 temp = sjk;
30 sjk = sik;
31 sik = temp;
32 }
33 }
34 }
35 }
36
37 return sorted;
38
39}
40
41
42
43