Graphviz  2.41.20170921.2350
Data Structures | Macros | Functions
mincross.c File Reference
#include "dot.h"
Include dependency graph for mincross.c:

Go to the source code of this file.

Data Structures

struct  info_t
 

Macros

#define MARK(v)   (ND_mark(v))
 
#define saveorder(v)   (ND_coord(v)).x
 
#define flatindex(v)   ND_low(v)
 
#define ND_x(n)   (((info_t*)AGDATA(n))->x)
 
#define ND_lo(n)   (((info_t*)AGDATA(n))->lo)
 
#define ND_hi(n)   (((info_t*)AGDATA(n))->hi)
 
#define ND_np(n)   (((info_t*)AGDATA(n))->np)
 
#define ND_idx(n)   (ND_order(ND_np(n)))
 
#define isBackedge(e)   (ND_idx(aghead(e)) > ND_idx(agtail(e)))
 
#define ELT(M, i, j)   (M->data[((i)*M->ncols)+(j)])
 
#define VAL(node, port)   (MC_SCALE * ND_order(node) + (port).order)
 
#define ORDINARY   0
 
#define SINGLETON   1
 
#define VIRTUALNODE   2
 
#define NTYPES   3
 
#define C_EE   1
 
#define C_VS   2
 
#define C_SS   2
 
#define C_VV   4
 

Functions

void checkLabelOrder (graph_t *g)
 
void dot_mincross (graph_t *g, int doBalance)
 
void save_vlist (graph_t *g)
 
void rec_save_vlists (graph_t *g)
 
void rec_reset_vlists (graph_t *g)
 
void flat_rev (Agraph_t *g, Agedge_t *e)
 
void allocate_ranks (graph_t *g)
 
void install_in_rank (graph_t *g, node_t *n)
 
void build_ranks (graph_t *g, int pass)
 
void enqueue_neighbors (nodequeue *q, node_t *n0, int pass)
 
int ncross (graph_t *g)
 
void virtual_weight (edge_t *e)
 

Macro Definition Documentation

#define C_EE   1

Definition at line 1880 of file mincross.c.

#define C_SS   2

Definition at line 1882 of file mincross.c.

#define C_VS   2

Definition at line 1881 of file mincross.c.

#define C_VV   4

Definition at line 1883 of file mincross.c.

#define ELT (   M,
  i,
 
)    (M->data[((i)*M->ncols)+(j)])

Definition at line 385 of file mincross.c.

#define flatindex (   v)    ND_low(v)

Definition at line 27 of file mincross.c.

#define isBackedge (   e)    (ND_idx(aghead(e)) > ND_idx(agtail(e)))

Definition at line 175 of file mincross.c.

#define MARK (   v)    (ND_mark(v))

Definition at line 25 of file mincross.c.

Referenced by build_ranks(), and enqueue_neighbors().

#define ND_hi (   n)    (((info_t*)AGDATA(n))->hi)

Definition at line 159 of file mincross.c.

Referenced by checkLabelOrder().

#define ND_idx (   n)    (ND_order(ND_np(n)))

Definition at line 161 of file mincross.c.

#define ND_lo (   n)    (((info_t*)AGDATA(n))->lo)

Definition at line 158 of file mincross.c.

Referenced by checkLabelOrder().

#define ND_np (   n)    (((info_t*)AGDATA(n))->np)

Definition at line 160 of file mincross.c.

Referenced by checkLabelOrder().

#define ND_x (   n)    (((info_t*)AGDATA(n))->x)

Definition at line 157 of file mincross.c.

#define NTYPES   3

Definition at line 1878 of file mincross.c.

#define ORDINARY   0

Definition at line 1875 of file mincross.c.

#define saveorder (   v)    (ND_coord(v)).x

Definition at line 26 of file mincross.c.

#define SINGLETON   1

Definition at line 1876 of file mincross.c.

#define VAL (   node,
  port 
)    (MC_SCALE * ND_order(node) + (port).order)

Definition at line 1804 of file mincross.c.

#define VIRTUALNODE   2

Definition at line 1877 of file mincross.c.

Function Documentation

void allocate_ranks ( graph_t g)
void build_ranks ( graph_t g,
int  pass 
)
void checkLabelOrder ( graph_t g)
void dot_mincross ( graph_t g,
int  doBalance 
)

Definition at line 332 of file mincross.c.

References agget(), GD_clust, GD_comp, GD_n_cluster, mapbool(), mark_lowclusters(), and TRUE.

void enqueue_neighbors ( nodequeue q,
node_t n0,
int  pass 
)

Definition at line 1441 of file mincross.c.

References aghead(), agtail(), enqueue(), FALSE, MARK, ND_in, ND_out, and TRUE.

Referenced by build_ranks(), and install_cluster().

void flat_rev ( Agraph_t g,
Agedge_t e 
)
void install_in_rank ( graph_t g,
node_t n 
)

Definition at line 1331 of file mincross.c.

References agerr(), AGERR, agnameof(), assert, GD_maxrank, GD_minrank, GD_nlist, GD_rank, ND_next, ND_order, ND_rank, and NULL.

Referenced by build_ranks(), and install_cluster().

int ncross ( graph_t g)

Definition at line 1741 of file mincross.c.

References GD_maxrank, GD_minrank, GD_rank, and TRUE.

Referenced by build_ranks().

void rec_reset_vlists ( graph_t g)
void rec_save_vlists ( graph_t g)

Definition at line 1080 of file mincross.c.

References GD_clust, GD_n_cluster, rec_save_vlists(), and save_vlist().

Referenced by flat_edges(), and rec_save_vlists().

void save_vlist ( graph_t g)

Definition at line 1070 of file mincross.c.

References GD_maxrank, GD_minrank, GD_rank, and GD_rankleader.

Referenced by rec_save_vlists().

void virtual_weight ( edge_t e)

Definition at line 1900 of file mincross.c.

References aghead(), agtail(), and ED_weight.