angel_types.hpp File Reference

#include <vector>
#include <string>
#include <algorithm>
#include <iostream>
#include <sstream>
#include "boost/graph/adjacency_list.hpp"
#include "boost/graph/graph_traits.hpp"
#include "boost/property_map.hpp"
#include <map>
#include <set>
#include "xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp"
#include "angel_exceptions.hpp"

Include dependency graph for angel_types.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  angel

Classes

struct  angel::EdgeType
struct  angel::VertexVisited
 Pure BGL type definition of c-graph. More...
class  angel::c_graph_t
 C-graph type. More...
class  angel::line_graph_t
 Line graph type. More...
struct  angel::triplet_t
 Triplet of faces, used in face_elimination_history_t. More...
class  angel::predecessor_t< Ad_graph_t >
class  angel::successor_t< Ad_graph_t >
struct  angel::edge_elim_t
 Edge edge to eliminate from c-graph and whether it should be front or back eliminated. More...
struct  angel::edge_pair_elim_t
struct  angel::edge_ij_elim_t
struct  angel::accu_exp_t
union  angel::accu_exp_t::ref_t
class  angel::accu_exp_graph_t
struct  angel::accu_graph_t
struct  angel::EdgeRef_t
struct  angel::edge_reroute_t
class  angel::EdgeElim
 Graph-independent edge elimination. More...
class  angel::Rerouting
 Graph-independent rerouting. More...
class  angel::Transformation
 Graph-independent transformation. More...
struct  angel::elimSeq_cost_t
struct  angel::transformationSeq_cost_t

Typedefs

typedef
boost::property
< boost::edge_weight_t,
int > 
angel::edge_weight_property
typedef
boost::property
< boost::edge_index_t,
int,
edge_weight_property > 
angel::edge_index_weight_property
typedef
boost::property
< EdgeType, int,
edge_index_weight_property > 
angel::edge_type_index_weight_property
typedef
boost::property
< VertexVisited,
bool > 
angel::vertex_visited_property
typedef
boost::adjacency_list
< boost::vecS,
boost::vecS,
boost::bidirectionalS,
vertex_visited_property,
edge_type_index_weight_property > 
angel::pure_c_graph_t
 Pure BGL type definition of c-graph.
typedef std::pair
< c_graph_t::edge_t,
bool > 
angel::edge_bool_t
 Pair of c-graph edge and boolean to specify an edge elimination.
typedef std::pair
< int, int > 
angel::ad_edge_t
typedef
boost::property
< boost::vertex_degree_t,
int > 
angel::vertex_degree_property
typedef
boost::property
< boost::vertex_name_t,
ad_edge_t,
vertex_degree_property > 
angel::vertex_name_degree_property
typedef
boost::adjacency_list
< boost::vecS,
boost::vecS,
boost::bidirectionalS,
vertex_name_degree_property,
boost::no_property > 
angel::pure_line_graph_t
 Pure BGL type definition of line graph.
typedef std::vector
< edge_elim_t > 
angel::edge_elim_seq_t
typedef std::vector
< edge_pair_elim_t > 
angel::edge_pair_elim_seq_t
typedef std::vector
< edge_ij_elim_t > 
angel::edge_ij_elim_seq_t
typedef
boost::property
< boost::vertex_name_t,
accu_exp_t > 
angel::accu_exp_property
typedef
boost::adjacency_list
< boost::vecS,
boost::vecS,
boost::bidirectionalS,
accu_exp_property,
boost::no_property > 
angel::pure_accu_exp_graph_t
typedef std::pair
< unsigned int,
unsigned int > 
angel::uint_pair_t
typedef std::set
< c_graph_t::vertex_t > 
angel::vertex_set_t
typedef std::map
< uint_pair_t,
vertex_set_t > 
angel::refillDependenceMap_t

Enumerations

enum  angel::vertex_type_t {
  angel::independent, angel::intermediate, angel::dependent, angel::dead_vertex,
  angel::undefined_vertex
}
 Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t. More...
enum  angel::Edge_Type_E { angel::VARIABLE_EDGE, angel::UNIT_EDGE, angel::CONSTANT_EDGE }
enum  angel::EdgeRefType_E { angel::LCG_EDGE, angel::JAE_VERT, angel::UNDEFINED }

Functions

bool angel::operator== (const c_graph_t &g1, const c_graph_t &g2)
 Compares two c-graphs.
bool angel::operator!= (const c_graph_t &g1, const c_graph_t &g2)
 Compares two c-graphs.
int angel::overall_markowitz_degree (const c_graph_t &cg)
 Markowitz degree of all vertices in cg.
bool angel::vertex_eliminatable (const c_graph_t &cg)
 Whether cg can be transformed into bipartite graph by vertex eliminations.
template<typename Ad_graph_t>
std::pair< typename
Ad_graph_t::edge_descriptor,
bool > 
angel::edge (typename Ad_graph_t::vertex_descriptor u, typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &g)
 Replaces edge function of BGL.
void angel::edge_vertex_name (line_graph_t::edge_t e, const line_graph_t &lg, int &i, int &j)
 Vertex pair representation of an edge in line graph.
void angel::face_vertex_name (line_graph_t::face_t f, const line_graph_t &lg, int &i, int &j, int &k)
 Vertex triplet representation of a face.
bool angel::operator== (const line_graph_t &g1, const line_graph_t &g2)
 Compares two line graphs.
bool angel::operator!= (const line_graph_t &g1, const line_graph_t &g2)
 Compares two line graphs.
int angel::overall_markowitz_degree (const line_graph_t &lg)
 Markowitz degree of all vertices.
int angel::markowitz_degree (int j, const line_graph_t &lg)
 Markowitz.
std::ostream & angel::operator<< (std::ostream &stream, const triplet_t &t)
 Output operator of triplet_t.
std::ostream & angel::operator<< (std::ostream &stream, const edge_pair_elim_t &ee)
 Output operator of edge_pair_elim_t.
std::ostream & angel::operator<< (std::ostream &stream, const edge_ij_elim_t &ee)
 Output operator of edge_ij_elim_t.
std::ostream & angel::operator<< (std::ostream &stream, const accu_exp_t &exp)


Generated on Wed Mar 11 10:33:15 2009 for angel by  doxygen 1.5.3