00001
00007 #if !defined(INC_OSKI_HEUR_H)
00008
00009 #define INC_OSKI_HEUR_H
00010
00011 #include <oski/common.h>
00012
00014 void oski_InitHeurManager (void);
00015
00017 void oski_CloseHeurManager (void);
00018
00020 oski_id_t oski_RegisterHeur (const char *name,
00021 oski_id_t id_ind, oski_id_t id_val);
00022
00024 size_t oski_GetNumHeur (void);
00025
00037 #define OSKI_HEUR_METHOD(type, name) \
00038 (OSKI_MAKENAME_FUNCPT(name))oski_LookupHeurMethod( \
00039 type, OSKI_IND_ID, OSKI_VAL_ID, \
00040 "oski_" MACRO_TO_STRING(name) \
00041 )
00042
00052 #define OSKI_HEURID_METHOD(type_id, name) \
00053 (OSKI_MAKENAME_FUNCPT(name))oski_LookupHeurIdMethod( \
00054 type_id, "oski_" MACRO_TO_STRING(name) \
00055 )
00056
00058 const char *oski_LookupHeurDescById (oski_id_t id);
00059
00061 oski_id_t oski_LookupHeurId (const char *name,
00062 oski_id_t id_ind, oski_id_t id_val);
00063
00065 oski_id_t oski_LookupHeurIdByNum (size_t i);
00066
00068 void *oski_LookupHeurIdMethod (oski_id_t id, const char *method_name);
00069
00071 void *oski_LookupHeurMethod (const char *heur_name,
00072 oski_id_t id_ind, oski_id_t id_val,
00073 const char *method_name);
00074
00075
00076
00077
00078 #include <stdio.h>
00079
00083 FILE *oski_OpenBenchmarkData (const char *filename);
00084
00088 void oski_CloseBenchmarkData (FILE * fp);
00089
00094 int oski_ReadBenchmarkLine (FILE * fp, char *buffer, size_t max_len);
00095
00096 #endif
00097
00098