* @brief PBQP nodes.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
pbqp_node_t *alloc_node(pbqp_t *pbqp, unsigned node_index, vector_t *costs)
{
pbqp_node_t *node = OALLOC(&pbqp->obstack, pbqp_node_t);
- assert(node);
node->edges = NEW_ARR_F(pbqp_edge_t *, 0);
node->costs = vector_copy(pbqp, costs);
int is_connected(pbqp_node_t *node, pbqp_edge_t *edge)
{
pbqp_edge_t **edges;
- unsigned edge_index;
- unsigned edge_len;
+ size_t edge_index;
+ size_t edge_len;
assert(node);
- assert(edge);
-
if (edge->src != node && edge->tgt != node) return 0;
edges = node->edges;
void disconnect_edge(pbqp_node_t *node, pbqp_edge_t *edge)
{
pbqp_edge_t **edges;
- unsigned edge_index;
- unsigned edge_len;
+ size_t edge_index;
+ size_t edge_len;
edges = node->edges;
edge_len = ARR_LEN(edges);
unsigned pbqp_node_get_degree(pbqp_node_t *node)
{
- assert(node);
return ARR_LEN(node->edges);
}
unsigned edge_length = pbqp_node_get_degree(node);
pbqp_node_t *copy = OALLOC(&pbqp->obstack, pbqp_node_t);
- assert(copy);
-
copy->edges = NEW_ARR_F(pbqp_edge_t *, 0);
for (edge_index = 0; edge_index < edge_length; ++edge_index) {
pbqp_edge_t *edge_copy = NULL;