summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/c/ffConv2.c
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/common/c/ffConv2.c')
-rw-r--r--SD-VBS/common/c/ffConv2.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/SD-VBS/common/c/ffConv2.c b/SD-VBS/common/c/ffConv2.c
new file mode 100644
index 0000000..450c5d2
--- /dev/null
+++ b/SD-VBS/common/c/ffConv2.c
@@ -0,0 +1,47 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "sdvbs_common.h"
6
7F2D* ffConv2(F2D* a, F2D* b)
8{
9 F2D *c, *out;
10 int ma, na, mb, nb, ci, cj, i, j, m, n, ri, mm, nn;
11 int r_index, c_index;
12
13 ma = a->height;
14 na = a->width;
15
16 mb = b->height;
17 nb = b->width;
18
19 ci = ma;
20 cj = na;
21
22 c = fSetArray(ci, cj, 0);
23
24 r_index = mb/2;
25 c_index = nb/2;
26
27 for(i=0; i<ma; i++)
28 {
29 for(j=0; j<na; j++)
30 {
31 for(m=0; m<mb; m++)
32 {
33 mm = mb-1-m;
34 for(n=0; n<nb; n++)
35 {
36 nn = nb-1-n;
37 ri = i+m-r_index;
38 ci = j+n-c_index;
39 if(ri >=0 && ri < ma && ci >= 0 && ci < na)
40 subsref(c,i,j) += subsref(a,ri,ci) * subsref(b,mm,nn);
41 }
42 }
43 }
44 }
45
46 return c;
47}