summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/sift/src/c/doubleSize.c
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/benchmarks/sift/src/c/doubleSize.c')
-rw-r--r--SD-VBS/benchmarks/sift/src/c/doubleSize.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/SD-VBS/benchmarks/sift/src/c/doubleSize.c b/SD-VBS/benchmarks/sift/src/c/doubleSize.c
new file mode 100644
index 0000000..dd17f77
--- /dev/null
+++ b/SD-VBS/benchmarks/sift/src/c/doubleSize.c
@@ -0,0 +1,55 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "sift.h"
6
7F2D* doubleSize(F2D* I)
8{
9 F2D *J;
10 int M, N, i, j;
11
12 M = I->height;
13 N = I->width;
14 J = fSetArray(2*M, 2*N, 0);
15
16 for(i=0; i<M; i++)
17 {
18 for(j=0; j<N; j++)
19 {
20 subsref(J,2*i,j*2) = subsref(I,i,j);
21 }
22 }
23
24 for(i=0; i<M-1; i++)
25 {
26 for(j=0; j<N-1; j++)
27 {
28 subsref(J,i*2+1,j*2+1) = (0.25 * (subsref(I,i,j) + subsref(I,i+1,j) + subsref(I,i,j+1) + subsref(I,(i+1),j+1)));
29 }
30 }
31
32 for(i=0; i<M-1; i++)
33 {
34 for(j=0; j<N; j++)
35 {
36 subsref(J,i*2+1,j*2) = (0.5 * (subsref(I,i,j) + subsref(I,i+1,j)));
37 }
38 }
39
40 for(i=0; i<M; i++)
41 {
42 for(j=0; j<N-1; j++)
43 {
44 subsref(J,i*2,j*2+1) = (0.5 * (subsref(I,i,j) + subsref(I,i,j+1)));
45 }
46 }
47
48 return J;
49}
50
51
52
53
54
55