angel  mercurial changeset: <a href="http://mercurial.mcs.anl.gov/ad/angel/rev/b39b3ee16224" target="_parent">b39b3ee16224</a>
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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/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.

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
 

Namespaces

 angel
 Namespace for the complete library.
 

Constant Groups

 angel
 Namespace for the complete library.
 

Macros

#define BOOST_NO_HASH
 

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. More...
 
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. More...
 
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. More...
 
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. More...
 
bool angel::operator!= (const c_graph_t &g1, const c_graph_t &g2)
 Compares two c-graphs. More...
 
int angel::overall_markowitz_degree (const c_graph_t &cg)
 Markowitz degree of all vertices in cg. More...
 
bool angel::vertex_eliminatable (const c_graph_t &cg)
 Whether cg can be transformed into bipartite graph by vertex eliminations. More...
 
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. More...
 
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. More...
 
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. More...
 
bool angel::operator== (const line_graph_t &g1, const line_graph_t &g2)
 Compares two line graphs. More...
 
bool angel::operator!= (const line_graph_t &g1, const line_graph_t &g2)
 Compares two line graphs. More...
 
int angel::overall_markowitz_degree (const line_graph_t &lg)
 Markowitz degree of all vertices. More...
 
int angel::markowitz_degree (int j, const line_graph_t &lg)
 Markowitz. More...
 
std::ostream & angel::operator<< (std::ostream &stream, const triplet_t &t)
 Output operator of triplet_t. More...
 
std::ostream & angel::operator<< (std::ostream &stream, const edge_pair_elim_t &ee)
 Output operator of edge_pair_elim_t. More...
 
std::ostream & angel::operator<< (std::ostream &stream, const edge_ij_elim_t &ee)
 Output operator of edge_ij_elim_t. More...
 
std::ostream & angel::operator<< (std::ostream &stream, const accu_exp_t &exp)
 

Macro Definition Documentation

#define BOOST_NO_HASH

Definition at line 19 of file angel_types.hpp.