00001 #ifndef _GREEDYSAMPLE
00002 #define _GREEDYSAMPLE
00003
00004 #include<stdio.h>
00005 #include<stdlib.h>
00006 #include<math.h>
00007
00008 #include "eg_greedytypes.h"
00009 #include "eg_greedykp.h"
00010 #include "eg_kppairs.h"
00011
00012 int EGgenerateRandomInternalPairs( EGgreedyData_t *const gdata,
00013 EGlist_t *const new_pairs,
00014 EGlist_t *const old_pairs,
00015 unsigned int max_new_pairs,
00016 double sample_time );
00017
00018 EGinternalPairs_t* EGnewRandomInternalPairs( EGinternalPairs_t *old_pair,
00019 EGlist_t *ext_path,
00020 EGdijkstraCost_t ext_value,
00021 EGmemPool_t *mem );
00022
00023 int EGgreedySample( EGdGraphNode_t *s,
00024 EGdGraphNode_t *t,
00025 EGdijkstraCost_t st_ubound,
00026 int st_parity,
00027 EGgreedyData_t *gdata,
00028 EGdijkstraCost_t *path_val,
00029 EGlist_t *path );
00030
00031 EGdGraphEdge_t* EGgreedySampleEdge(EGdGraphNode_t *s,
00032 EGdGraphNode_t *t,
00033 EGdijkstraCost_t st_ubound,
00034 int st_parity,
00035 EGgreedyData_t *gdata);
00036
00037
00038 int EGaddIPtoList(EGinternalPairs_t *p, EGlist_t *pairs, unsigned int max_size);
00039 EGlist_t* EGmergeIPlists(EGlist_t *first, EGlist_t *second);
00040
00041 #endif