diff options
Diffstat (limited to 'SD-VBS/benchmarks/localization/src/c/weightedSample.c')
| -rw-r--r-- | SD-VBS/benchmarks/localization/src/c/weightedSample.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/SD-VBS/benchmarks/localization/src/c/weightedSample.c b/SD-VBS/benchmarks/localization/src/c/weightedSample.c new file mode 100644 index 0000000..28099e8 --- /dev/null +++ b/SD-VBS/benchmarks/localization/src/c/weightedSample.c | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | /******************************** | ||
| 2 | Author: Sravanthi Kota Venkata | ||
| 3 | ********************************/ | ||
| 4 | |||
| 5 | #include <stdio.h> | ||
| 6 | #include <stdlib.h> | ||
| 7 | #include <math.h> | ||
| 8 | #include "localization.h" | ||
| 9 | |||
| 10 | I2D* weightedSample(F2D* w) | ||
| 11 | { | ||
| 12 | I2D *bin; | ||
| 13 | F2D *seed; | ||
| 14 | int n, i, j; | ||
| 15 | |||
| 16 | n = w->height; | ||
| 17 | seed = randWrapper(n, 1); | ||
| 18 | bin = iSetArray(n, 1, 0); | ||
| 19 | |||
| 20 | for(i=0; i<n; i++) | ||
| 21 | { | ||
| 22 | for(j=0; j<n; j++) | ||
| 23 | { | ||
| 24 | if(asubsref(seed,j) > 0) | ||
| 25 | asubsref(bin,j) = asubsref(bin,j) + 1; | ||
| 26 | } | ||
| 27 | for(j=0; j<n; j++) | ||
| 28 | asubsref(seed,j) = asubsref(seed,j) - asubsref(w,i); | ||
| 29 | } | ||
| 30 | |||
| 31 | free(seed); | ||
| 32 | return bin; | ||
| 33 | } | ||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | |||
