struct refine_vdata {
	float above;		/* sum of edge weights pulling me higher */
	float below;		/* sum of edge weights pulling me lower */
	float same;		/* sum of edge weights keeping me here */
};

struct refine_edata {
	short node1, node2;	/* nodes in mesh connected by this edge */
	short dim;		/* which dimension of mesh does wire span? */
	float swap_desire;	/* reduction in hops if edge is flipped */
	struct refine_edata *prev;	/* pointer to previous guy in list */
	struct refine_edata *next;	/* pointer to next guy in list */
};


syntax highlighted by Code2HTML, v. 0.9.1