angel
mercurial changeset:
|
00001 // $Id: xaif_interface.hpp,v 1.7 2004/10/16 04:18:17 jean_utke Exp $ 00002 /* 00003 ############################################################# 00004 # This file is part of angel released under the BSD license # 00005 # The full COPYRIGHT notice can be found in the top # 00006 # level directory of the angel distribution # 00007 ############################################################# 00008 */ 00009 00010 00011 #ifndef _xaif_interface_include_ 00012 #define _xaif_interface_include_ 00013 00014 #ifdef USEXAIFBOOSTER 00015 00016 #include<list> 00017 00018 #include "angel_types.hpp" 00019 00020 #include "xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp" 00021 #include "xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp" 00022 00023 namespace angel { 00024 00026 bool isTrivialEdge(const c_graph_t::edge_t& e, 00027 c_graph_t& theAngelLCG, 00028 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel); 00029 00031 void assessPairElim(const c_graph_t::edge_t& e1, 00032 const c_graph_t::edge_t& e2, 00033 c_graph_t& theAngelLCG, 00034 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, 00035 unsigned int& cost, 00036 int& totalEdgecountChange, 00037 int& nontrivialEdgecountChange); 00038 00040 void assessFrontEdgeElim(const c_graph_t::edge_t& e, 00041 c_graph_t& theAngelLCG, 00042 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, 00043 unsigned int& cost, 00044 int& totalEdgecountChange, 00045 int& nontrivialEdgecountChange); 00046 00048 void assessBackEdgeElim(const c_graph_t::edge_t& e, 00049 c_graph_t& theAngelLCG, 00050 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, 00051 unsigned int& cost, 00052 int& totalEdgecountChange, 00053 int& nontrivialEdgecountChange); 00054 00060 void assessEdgeElim(const EdgeElim& anEdgeElim, 00061 c_graph_t& theAngelLCG, 00062 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, 00063 unsigned int& cost, 00064 int& totalEdgecountChange, 00065 int& nontrivialEdgecountChange); 00066 00073 void postProcessRemainderGraph(c_graph_t& theAngelLCG, 00074 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionList& theJAEList, 00075 std::list<EdgeRef_t>& edge_ref_list, 00076 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel); 00077 00078 } // end namespace angel 00079 00080 #endif // USEXAIFBOOSTER 00081 00082 #endif // _xaif_interface_include_ 00083