cookInterface.h

Go to the documentation of this file.
00001 /* Copyright (c) 2005 by John M. Boyer, All Rights Reserved.  Please see
00002  * License.txt for use and redistribution license. */
00003 #ifndef _COOK_INT_H
00004 #define _COOK_INT_H
00005 
00006 #include <string.h>
00007 #include <stdlib.h>
00008 #include <time.h>
00009 #include <ctype.h>
00010 #include "graph_boyer.h"
00011 #include "platformTime.h"
00012 #include "eg_macros.h"
00013 int loadCookGraph (char *file_name,
00014                    int *nnodes,
00015                    int *nedges,
00016                    int **edges,
00017                    double **weight);
00018 int cook2boyerGraph (graphP bGraph,
00019                      int nnodes,
00020                      int nedges,
00021                      int *edges);
00022 void _AddArcWid (graphP theGraph,
00023                  int u,
00024                  int v,
00025                  int arcPos,
00026                  int _link,
00027                  int id);
00028 int gp_AddEdgeWid (graphP theGraph,
00029                    int u,
00030                    int ulink,
00031                    int v,
00032                    int vlink,
00033                    int id);
00034 int extractCookEdgeIds (graphP theGraph,
00035                         int *nmnodes,
00036                         int *nmedges,
00037                         int *medges);
00038 int DPprintEmbed (graphP theGraph,
00039                   FILE * file);
00040 
00041 /********************************************************************
00042  gp_AddEdgeWid()
00043  Adds the undirected edge (u,v) to the graph by placing edge records
00044  representing u into v's circular edge record list and v into u's
00045  circular edge record list.
00046 
00047  upos receives the location in G where the u record in v's list will be
00048         placed, and vpos is the location in G of the v record we placed in
00049  u's list.  These are used to initialize the short circuit links.
00050 
00051  ulink (0|1) indicates whether the edge record to v in u's list should
00052         become adjacent to u by its 0 or 1 link, i.e. u[ulink] == vpos.
00053  vlink (0|1) indicates whether the edge record to u in v's list should
00054         become adjacent to v by its 0 or 1 link, i.e. v[vlink] == upos.
00055 
00056  ********************************************************************/
00057 int gp_AddEdgeWid (graphP theGraph,
00058                    int u,
00059                    int ulink,
00060                    int v,
00061                    int vlink,
00062                    int id);
00063 
00064 #endif /*  */

Generated on Thu Oct 20 14:58:40 2005 for DominoParitySeparator by  doxygen 1.4.5