From 873a9f9bedbbfb07d475e271923a7b86464e515f Mon Sep 17 00:00:00 2001 From: pants Date: Wed, 7 Sep 2016 14:55:30 -0400 Subject: more major refactoring --- src/ini_network.c | 121 +++++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 61 deletions(-) (limited to 'src/ini_network.c') diff --git a/src/ini_network.c b/src/ini_network.c index ebfea76..cfb8d53 100644 --- a/src/ini_network.c +++ b/src/ini_network.c @@ -219,21 +219,21 @@ graph_t *ini_square_network(unsigned int width, bound_t boundary, bool side_boun } free(vert_counts); - network->vert_coords = + network->vx = (double *)malloc(2 * network->nv * sizeof(double)); for (unsigned int i = 0; i < network->nv; i++) { if (!periodic) { - network->vert_coords[2 * i] = ((double)((2 * i + 1) / (width + 1)))/width; - network->vert_coords[2 * i + 1] = ((double)((2 * i + 1) % (width + 1)))/width; + network->vx[2 * i] = ((double)((2 * i + 1) / (width + 1)))/width; + network->vx[2 * i + 1] = ((double)((2 * i + 1) % (width + 1)))/width; } else { - network->vert_coords[2 * i] = ((double)((2 * i + 1) / (width)))/width; - network->vert_coords[2 * i + 1] = ((double)((((2 * i + 1) / (width)+1) % 2) + ((2 * i) % (width))))/width; + network->vx[2 * i] = ((double)((2 * i + 1) / (width)))/width; + network->vx[2 * i + 1] = ((double)((((2 * i + 1) / (width)+1) % 2) + ((2 * i) % (width))))/width; } } network->L = width; - network->edge_coords = get_edge_coords( - network->ne, network->vert_coords, network->ev); + network->ex = get_edge_coords( + network->ne, network->vx, network->ev); network->dev = (unsigned int *)malloc(2 * network->ne * sizeof(unsigned int)); @@ -243,12 +243,12 @@ graph_t *ini_square_network(unsigned int width, bound_t boundary, bool side_boun network->dev[2 * i + 1] = dual_edge_to_verts(width, periodic, i, 1) % network->dnv; } - network->dual_vert_coords = + network->dvx = (double *)malloc(2 * network->dnv * sizeof(double)); for (unsigned int i = 0; i < network->dnv; i++) { - network->dual_vert_coords[2 * i] = + network->dvx[2 * i] = 2*dual_vert_to_coord(width, periodic, i, 0); - network->dual_vert_coords[2 * i + 1] = + network->dvx[2 * i + 1] = 2*dual_vert_to_coord(width, periodic, i, 1); } @@ -262,7 +262,7 @@ graph_t *ini_square_network(unsigned int width, bound_t boundary, bool side_boun network->dve = get_verts_to_edges( network->dnv, network->ne, network->dev, network->dvei); - network->spanning_edges = get_spanning_edges(network->ne, network->ev_break, network->vert_coords, 0.51, &(network->num_spanning_edges)); + network->spanning_edges = get_spanning_edges(network->ne, network->ev_break, network->vx, 0.51, &(network->num_spanning_edges)); return network; } @@ -304,10 +304,10 @@ unsigned int *get_voro_dual_edges(unsigned int num_edges, return dual_edges; } -graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, +graph_t *ini_voro_graph(unsigned int L, bound_t boundary, bool use_dual, double *(*genfunc)(unsigned int, bound_t, gsl_rng *, unsigned int *), cholmod_common *c) { - graph_t *network = (graph_t *)calloc(1, sizeof(graph_t)); + graph_t *g = (graph_t *)calloc(1, sizeof(graph_t)); // generate the dual lattice double *lattice; @@ -459,11 +459,11 @@ graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, free(tmp_edges); free(tmp_dual_edges); num_bounds = 2; - network->ev_break = edges; - network->ev = edges; - network->nv_break = num_verts; - network->nv = num_verts; - network->break_dim = num_verts + num_bounds; + g->ev_break = edges; + g->ev = edges; + g->nv_break = num_verts; + g->nv = num_verts; + g->break_dim = num_verts + num_bounds; break; } case CYLINDER_BOUND: { @@ -526,11 +526,11 @@ graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, free(bound_top); free(bound_b); free(tmp_edges); free(tmp_dual_edges); - network->ev_break = edges; - network->ev = edges; - network->nv_break = num_verts; - network->nv = num_verts; - network->break_dim = num_verts + num_bounds; + g->ev_break = edges; + g->ev = edges; + g->nv_break = num_verts; + g->nv = num_verts; + g->break_dim = num_verts + num_bounds; break; } case TORUS_BOUND: { @@ -596,11 +596,11 @@ graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, free(tmp_vert_coords); free(bound_top); free(edge_change); - network->nv_break = num_verts; - network->nv = tmp_num_verts; - network->ev_break = edges; - network->ev = tmp_edges; - network->break_dim = num_verts; + g->nv_break = num_verts; + g->nv = tmp_num_verts; + g->ev_break = edges; + g->ev = tmp_edges; + g->break_dim = num_verts; break; } case EMBEDDED_BOUND: { @@ -618,50 +618,49 @@ graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, edges = tmp_edges; dual_edges = tmp_dual_edges; vert_coords = tmp_vert_coords; - network->nv_break = num_verts; - network->nv = num_verts; - network->ev_break = edges; - network->ev = edges; - network->break_dim = num_verts + 2; + g->nv_break = num_verts; + g->nv = num_verts; + g->ev_break = edges; + g->ev = edges; + g->break_dim = num_verts + 2; } } - network->boundary = boundary; - network->num_bounds = num_bounds; - network->bound_inds = bound_inds; - network->bound_verts = bound_verts; - network->ne = num_edges; - network->dev = dual_edges; - network->vert_coords = vert_coords; + g->boundary = boundary; + g->num_bounds = num_bounds; + g->bound_inds = bound_inds; + g->bound_verts = bound_verts; + g->ne = num_edges; + g->dev = dual_edges; + g->vx = vert_coords; - network->vei = get_verts_to_edges_ind( - network->nv, network->ne, network->ev); - network->ve = - get_verts_to_edges(network->nv, network->ne, - network->ev, network->vei); + g->vei = get_verts_to_edges_ind(g->nv, g->ne, g->ev); + g->ve = + get_verts_to_edges(g->nv, g->ne, + g->ev, g->vei); - network->L = 1; + g->L = L; - network->edge_coords = get_edge_coords( - network->ne, network->vert_coords, network->ev); + g->ex = get_edge_coords( + g->ne, g->vx, g->ev); free(tmp_tris); - network->dual_vert_coords = lattice; - network->dnv = num; + g->dvx = lattice; + g->dnv = num; - network->voltcurmat = gen_voltcurmat(network->ne, - network->break_dim, - network->ev_break, c); + g->voltcurmat = gen_voltcurmat(g->ne, + g->break_dim, + g->ev_break, c); - network->dvei = - get_verts_to_edges_ind(network->dnv, network->ne, - network->dev); - network->dve = get_verts_to_edges( - network->dnv, network->ne, network->dev, - network->dvei); + g->dvei = + get_verts_to_edges_ind(g->dnv, g->ne, + g->dev); + g->dve = get_verts_to_edges( + g->dnv, g->ne, g->dev, + g->dvei); - network->spanning_edges = get_spanning_edges(network->ne, network->ev_break, network->vert_coords, 0.5, &(network->num_spanning_edges)); + g->spanning_edges = get_spanning_edges(g->ne, g->ev_break, g->vx, 0.5, &(g->num_spanning_edges)); - return network; + return g; } -- cgit v1.2.3-70-g09d2