angel_tools.cpp File Reference

#include "angel/include/angel_tools.hpp"
#include <queue>
#include "angel/include/angel_exceptions.hpp"
#include "angel/include/angel_io.hpp"
#include "angel/include/eliminations.hpp"

Include dependency graph for angel_tools.cpp:

Go to the source code of this file.

Namespaces

namespace  angel

Defines

#define ECONST   2.71828
#define ECONST   2.71828
#define ECONST   2.71828

Functions

bool angel::reachable (const c_graph_t::vertex_t src, const c_graph_t::vertex_t tgt, c_graph_t &angelLCG)
 Answers a reachability query from src to tgt.
void angel::vertex_upset (const c_graph_t::vertex_t v, const c_graph_t &angelLCG, vertex_set_t &upset)
 Returns a set of vertices in adg that depend on v.
void angel::vertex_downset (const c_graph_t::vertex_t v, const c_graph_t &angelLCG, vertex_set_t &downset)
 Returns a set of vertices in adg that v depends on.
c_graph_t::edge_t angel::getEdge (unsigned int i, unsigned int j, const c_graph_t &angelLCG)
 Returns the edge in angelLCG that has source i and target j.
bool angel::lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, const line_graph_t &lg)
void angel::in_out_path_lengths (const c_graph_t &cg, std::vector< int > &vni, std::vector< int > &vli, std::vector< int > &vno, std::vector< int > &vlo)
 Returns for each vertex the number of paths and their overall length.
void angel::number_dependent_vertices (const c_graph_t &cg, std::vector< int > &v)
 Returns for each vertex how many dependent vertices depent on it.
void angel::number_independent_vertices (const c_graph_t &cg, std::vector< int > &v)
 Returns for each vertex on how many independent vertices it depends.
void angel::permutate_vertices (const c_graph_t &gin, const vector< c_graph_t::vertex_t > &p, c_graph_t &gout)
void angel::independent_vertices_to_front (const c_graph_t &gin, const vector< c_graph_t::vertex_t > &indeps, c_graph_t &gout)
int angel::renumber_edges (c_graph_t &cg)
 Renumber edges of cg continously, i.e. to [0..num_edges-1].
void angel::take_over_successors (c_graph_t::vertex_t v1, c_graph_t::vertex_t v2, int offset, const c_graph_t &g1, int &edge_number, c_graph_t &g2)
int angel::remove_hoisting_vertices (c_graph_t &cg)
 Removes all vertices with one predecessor and one successor from cg.
void angel::remove_parallel_edges (c_graph_t &cg)
 Removes parallel edges.
void angel::remove_trivial_edges (c_graph_t &cg)
 Eliminates all edges with label 1, front elimination is preferred.
double angel::gen_prob ()
 Returns a random number between zero and one.
unsigned int angel::chooseTarget_sa (std::vector< double > &deltaE)
 Randomly chooses an index into the vector deltaE.
int angel::chooseEdgeElimRandomly (std::vector< double > &deltaE)
int angel::chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)


Define Documentation

#define ECONST   2.71828

#define ECONST   2.71828

#define ECONST   2.71828

Referenced by angel::chooseEdgeElimRandomly(), angel::chooseEdgeElimRandomlyGreedy(), and angel::chooseTarget_sa().


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