BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00007 #if !defined(INC_OSKI_HEUR_TYPEDEP_H) 00008 00009 #define INC_OSKI_HEUR_TYPEDEP_H 00010 00011 #include <oski/common.h> 00012 #include <oski/matrix.h> 00013 00014 #if defined(DO_NAME_MANGLING) 00015 00017 #define oski_IsHeurApplicable MANGLE_(oski_IsHeurApplicable) 00018 #define oski_EstimateHeurCost MANGLE_(oski_EstimateHeurCost) 00019 #define oski_EvaluateHeur MANGLE_(oski_EvaluateHeur) 00020 #define oski_ApplyHeurResults MANGLE_(oski_ApplyHeurResults) 00021 00022 #define oski_HeurIsApplicable_funcpt \ 00023 MANGLE_(oski_HeurIsApplicable_funcpt) 00024 #define oski_HeurEstimateCost_funcpt \ 00025 MANGLE_(oski_HeurEstimateCost_funcpt) 00026 #define oski_HeurEvaluate_funcpt \ 00027 MANGLE_(oski_HeurEvaluate_funcpt) 00028 #define oski_HeurApplyResults_funcpt \ 00029 MANGLE_(oski_HeurApplyResults_funcpt) 00030 00031 #endif 00032 00037 int oski_IsHeurApplicable (oski_id_t id, const oski_matrix_t A_tunable); 00038 00043 double oski_EstimateHeurCost (oski_id_t id, const oski_matrix_t A_tunable); 00044 00051 void *oski_EvaluateHeur (oski_id_t id, const oski_matrix_t A_tunable); 00052 00057 int oski_ApplyHeurResults (oski_id_t id, void *results, 00058 const oski_matrix_t A_tunable); 00059 00061 #define CRAZY_HEUR_COST (double)1e9 00062 00064 typedef int (*oski_HeurIsApplicable_funcpt) (const oski_matrix_t A_tunable); 00065 00068 typedef double (*oski_HeurEstimateCost_funcpt) (const oski_matrix_t A); 00069 00072 typedef void *(*oski_HeurEvaluate_funcpt) (const oski_matrix_t A); 00073 00076 typedef int (*oski_HeurApplyResults_funcpt) (void *results, 00077 const oski_matrix_t A); 00078 00079 #endif /* !defined(INC_OSKI_HEUR_TYPEDEP_H) */ 00080 00081 /* eof */