summaryrefslogtreecommitdiff
path: root/src/graph_components.c
diff options
context:
space:
mode:
authorpants <jaron@kent-dobias.com>2016-09-08 12:28:07 -0400
committerpants <jaron@kent-dobias.com>2016-09-08 12:28:07 -0400
commit0b6e6a4337e8e9b6728f3604bb61a59365be3446 (patch)
tree389798c8a4638506a236a276e6847d65648f6640 /src/graph_components.c
parentcf272339a3b72cf192ba986d37e50de16a4cbe49 (diff)
downloadfuse_networks-0b6e6a4337e8e9b6728f3604bb61a59365be3446.tar.gz
fuse_networks-0b6e6a4337e8e9b6728f3604bb61a59365be3446.tar.bz2
fuse_networks-0b6e6a4337e8e9b6728f3604bb61a59365be3446.zip
src/bound_set.c
Diffstat (limited to 'src/graph_components.c')
-rw-r--r--src/graph_components.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/graph_components.c b/src/graph_components.c
index c4e894d..9680675 100644
--- a/src/graph_components.c
+++ b/src/graph_components.c
@@ -1,7 +1,7 @@
#include "fracture.h"
-bool set_connected(const cholmod_sparse *laplacian, unsigned int *marks,
+bool set_connected(const cholmod_sparse *laplacian, uint_t *marks,
int vertex, int label, int stop_at, int exclude) {
unsigned int num_verts = (int_t)laplacian->nrow;
@@ -90,17 +90,17 @@ unsigned int *find_components(const cholmod_sparse *laplacian, unsigned int skip
return marks;
}
-unsigned int find_cycles(unsigned int num_edges, const bool *fuses, const unsigned int *ev, const unsigned
- int *vei, const unsigned int *ve, int **cycles) {
- unsigned int num_cycles = 0;
- unsigned int *elist = (unsigned int *)malloc(num_edges * sizeof(unsigned int));
- unsigned int *side = (unsigned int *)calloc(num_edges, sizeof(unsigned int));
- unsigned int *num = (unsigned int *)malloc(num_edges * sizeof(unsigned int));
- for (unsigned int i = 0; i < num_edges; i++) {
+uint_t find_cycles(uint_t num_edges, const bool *fuses, const uint_t *ev, const unsigned
+ int *vei, const uint_t *ve, int **cycles) {
+ uint_t num_cycles = 0;
+ uint_t *elist = (uint_t *)malloc(num_edges * sizeof(uint_t));
+ uint_t *side = (uint_t *)calloc(num_edges, sizeof(uint_t));
+ uint_t *num = (uint_t *)malloc(num_edges * sizeof(uint_t));
+ for (uint_t i = 0; i < num_edges; i++) {
if (fuses[i]) {
bool in_cycle = false;
- for (unsigned int j = 0; j < num_cycles; j++) {
- unsigned int k = 0;
+ for (uint_t j = 0; j < num_cycles; j++) {
+ uint_t k = 0;
int e;
while ((e = cycles[j][k]) >= 0) {
if (e == i) {
@@ -114,17 +114,17 @@ unsigned int find_cycles(unsigned int num_edges, const bool *fuses, const unsign
}
}
if (!in_cycle) {
- unsigned int pos = 0;
- unsigned int cur_e = i;
+ uint_t pos = 0;
+ uint_t cur_e = i;
bool *included = (bool *)calloc(num_edges, sizeof(bool));
included[cur_e] = true;
elist[0] = cur_e;
side[0] = 1;
num[0] = 0;
while (true) {
- unsigned int cv = ev[2 * cur_e + side[pos]];
- unsigned int new_e = cur_e;
- unsigned int j;
+ uint_t cv = ev[2 * cur_e + side[pos]];
+ uint_t new_e = cur_e;
+ uint_t j;
for (j = num[pos]; j < vei[cv+1] - vei[cv]; j++) {
new_e = ve[vei[cv] + j];
if (new_e != cur_e && fuses[new_e]) break;
@@ -134,7 +134,7 @@ unsigned int find_cycles(unsigned int num_edges, const bool *fuses, const unsign
pos++;
cycles[2*num_cycles] = (int *)malloc((pos + 1) * sizeof(int));
cycles[2*num_cycles+1] = (int *)malloc((pos + 1) * sizeof(int));
- for (unsigned int i = 0; i < pos; i++) {
+ for (uint_t i = 0; i < pos; i++) {
cycles[2*num_cycles][i] = elist[i];
cycles[2*num_cycles+1][i] = side[i];
}
@@ -156,9 +156,9 @@ unsigned int find_cycles(unsigned int num_edges, const bool *fuses, const unsign
pos++;
elist[pos] = new_e;
included[new_e] = true;
- unsigned int nv1 = ev[2 * new_e];
- unsigned int nv2 = ev[2 * new_e + 1];
- unsigned int v = nv1 == cv ? nv2 : nv1;
+ uint_t nv1 = ev[2 * new_e];
+ uint_t nv2 = ev[2 * new_e + 1];
+ uint_t v = nv1 == cv ? nv2 : nv1;
side[pos] = v == nv1 ? 0 : 1;
num[pos] = 0;
cur_e = new_e;