From 2bb0740b68fdb62d45adc00204b3990ca42ade77 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Mon, 22 Aug 2016 10:11:14 -0400 Subject: started repo again without all the data files gunking the works --- src/bin_values.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/bin_values.c (limited to 'src/bin_values.c') diff --git a/src/bin_values.c b/src/bin_values.c new file mode 100644 index 0000000..2cb9cf6 --- /dev/null +++ b/src/bin_values.c @@ -0,0 +1,23 @@ + +#include "fracture.h" + +double *bin_values(fnet *network, unsigned int width, double *values) { + double *binned = calloc(pow(width, 2), sizeof(double)); + unsigned int *num_binned = calloc(pow(width, 2), sizeof(unsigned int)); + for (unsigned int i = 0; i < network->num_edges; i++) { + if (values[i] != 0) { + unsigned int x = ((int)(network->edge_coords[2 * i] * width)) % width; + unsigned int y = ((int)(network->edge_coords[2 * i + 1] * width)) % width; + binned[width * x + y] += fabs(values[i]); + num_binned[width * x + y]++; + } + } + + for (unsigned int i = 0; i < pow(width, 2); i++) { + if (num_binned[i] != 0) { + binned[i] /= num_binned[i]; + } + } + + return binned; +} -- cgit v1.2.3-70-g09d2