summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/svm/src/c/polynomial.c
diff options
context:
space:
mode:
authorleochanj105 <leochanj@live.unc.edu>2020-10-19 23:09:30 -0400
committerleochanj105 <leochanj@live.unc.edu>2020-10-20 02:40:39 -0400
commitf618466c25d43f3bae9e40920273bf77de1e1149 (patch)
tree460e739e2165b8a9c37a9c7ab1b60f5874903543 /SD-VBS/benchmarks/svm/src/c/polynomial.c
parent47ced4e96bbb782b9e780e8f2cfc637b2c21ff44 (diff)
initial sd-vbs
initial sd-vbs add sd-vbs sd-vbs
Diffstat (limited to 'SD-VBS/benchmarks/svm/src/c/polynomial.c')
-rw-r--r--SD-VBS/benchmarks/svm/src/c/polynomial.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/SD-VBS/benchmarks/svm/src/c/polynomial.c b/SD-VBS/benchmarks/svm/src/c/polynomial.c
new file mode 100644
index 0000000..cce9190
--- /dev/null
+++ b/SD-VBS/benchmarks/svm/src/c/polynomial.c
@@ -0,0 +1,42 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "svm.h"
6
7float polynomial(int d, F2D* a, F2D* b, int dim)
8{
9 float ret;
10 F2D *bt, *bt1;
11 int i,j,r,c;
12
13 r = b->height;
14 c = b->width;
15
16 bt = fMallocHandle(c, r);
17
18 for(i=0; i<r; i++)
19 {
20 for(j=0; j<c; j++)
21 {
22 subsref(bt,j,i) = subsref(b,i,j);
23 }
24 }
25
26 bt1 = fMtimes(a, bt);
27 fFreeHandle(bt);
28
29 if(bt1->height == 1 && bt1->width ==1)
30 ret = pow(asubsref(bt1,0),d)/dim;
31 else
32 {
33 fFreeHandle(bt1);
34 return -1;
35 }
36
37 fFreeHandle(bt1);
38 return ret;
39}
40
41
42