angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter...
Transcript of angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter...
angel Reference Manualmercurial changeset:
Generated by Doxygen 1.5.3
Wed Mar 11 10:33:11 2009
Contents
1 ANGEL Reference Manual 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 angel Directory Hierarchy 3
2.1 angel Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 angel Namespace Index 5
3.1 angel Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 angel Hierarchical Index 7
4.1 angel Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 angel Class Index 11
5.1 angel Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 angel File Index 15
6.1 angel File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7 angel Directory Documentation 17
7.1 angel/ Directory Reference . . . . . . . . . . . . . . . . . . . . . . . 17
7.2 angel/include/ Directory Reference . . . . . . . . . . . . . . . . . . . 18
7.3 angel/src/ Directory Reference . . . . . . . . . . . . . . . . . . . . . 19
8 angel Namespace Documentation 21
8.1 angel Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 21
ii CONTENTS
8.2 boost Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 192
8.3 GMPI Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 193
8.4 std Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . 200
8.5 xaifBoosterCrossCountryInterface Namespace Reference . . . . . . . 201
9 angel Class Documentation 211
9.1 angel::accu_exp_graph_t Class Reference . . . . . . . . . . . . . . . 211
9.2 angel::accu_exp_t Struct Reference . . . . . . . . . . . . . . . . . . 214
9.3 angel::accu_exp_t::ref_t Union Reference . . . . . . . . . . . . . . . 217
9.4 angel::accu_graph_t Struct Reference . . . . . . . . . . . . . . . . . 218
9.5 angel::base_exception Class Reference . . . . . . . . . . . . . . . . . 221
9.6 angel::base_heuristic_t< Objective_t > Class Template Reference . . 223
9.7 GMPI::buffer_t< Base_t > Class Template Reference . . . . . . . . . 227
9.8 angel::c_graph_t Class Reference . . . . . . . . . . . . . . . . . . . . 235
9.9 GMPI::Comm Class Reference . . . . . . . . . . . . . . . . . . . . . 248
9.10 GMPI::comm_ref_t< Base_t, Object_t > Class Template Reference . 251
9.11 angel::consistency_exception Class Reference . . . . . . . . . . . . . 253
9.12 angel::dec_greater< vertex_t > Struct Template Reference . . . . . . 254
9.13 angel::diste_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 256
9.14 angel::distf_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 257
9.15 angel::edge_address_t Struct Reference . . . . . . . . . . . . . . . . 258
9.16 angel::edge_elim_t Struct Reference . . . . . . . . . . . . . . . . . . 259
9.17 angel::edge_equal_t< Ad_graph_t > Struct Template Reference . . . 260
9.18 angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > Class TemplateReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
9.19 angel::edge_ij_elim_t Struct Reference . . . . . . . . . . . . . . . . . 264
9.20 angel::edge_less_t< Ad_graph_t > Struct Template Reference . . . . 266
9.21 angel::edge_pair_elim_t Struct Reference . . . . . . . . . . . . . . . 268
9.22 angel::edge_reroute_t Struct Reference . . . . . . . . . . . . . . . . . 269
9.23 angel::edge_vertex_elim_t Struct Reference . . . . . . . . . . . . . . 271
9.24 angel::EdgeElim Class Reference . . . . . . . . . . . . . . . . . . . . 272
9.25 angel::EdgeRef_t Struct Reference . . . . . . . . . . . . . . . . . . . 276
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
CONTENTS iii
9.26 angel::EdgeType Struct Reference . . . . . . . . . . . . . . . . . . . 278
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class Tem-plate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
9.28 angel::elimSeq_cost_t Struct Reference . . . . . . . . . . . . . . . . 290
9.29 angel::empty_operator_t< operand_t > Struct Template Reference . . 293
9.30 angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > Class Tem-plate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
9.31 angel::fiv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 296
9.32 angel::fixed_temperature_t Class Reference . . . . . . . . . . . . . . 297
9.33 angel::forward_mode_edge_t Class Reference . . . . . . . . . . . . . 299
9.34 angel::forward_mode_face_t Class Reference . . . . . . . . . . . . . 301
9.35 angel::forward_mode_vertex_t Class Reference . . . . . . . . . . . . 303
9.36 angel::gamma_adaption_average_t Class Reference . . . . . . . . . . 305
9.37 angel::gamma_adaption_max_t Class Reference . . . . . . . . . . . . 308
9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
9.39 angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >Class Template Reference . . . . . . . . . . . . . . . . . . . . . . . . 314
9.40 GMPI::Intracomm Class Reference . . . . . . . . . . . . . . . . . . . 317
9.41 angel::io_exception Class Reference . . . . . . . . . . . . . . . . . . 320
9.42 angel::lex_less_face_line_t Class Reference . . . . . . . . . . . . . . 321
9.43 angel::line_graph_t Class Reference . . . . . . . . . . . . . . . . . . 323
9.44 angel::lme_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 335
9.45 angel::lmf_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 336
9.46 angel::lmmd_edge_t Class Reference . . . . . . . . . . . . . . . . . . 338
9.47 angel::lmmd_vertex_t Class Reference . . . . . . . . . . . . . . . . . 341
9.48 angel::lmmde_op_t Struct Reference . . . . . . . . . . . . . . . . . . 344
9.49 angel::lmmdv_op_t Struct Reference . . . . . . . . . . . . . . . . . . 346
9.50 angel::lmv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 348
9.51 angel::LOG_temperature_t Class Reference . . . . . . . . . . . . . . 349
9.52 angel::lowest_fill_in_vertex_t Class Reference . . . . . . . . . . . . . 351
9.53 angel::lowest_markowitz_edge_t Class Reference . . . . . . . . . . . 353
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
iv CONTENTS
9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > ClassTemplate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
9.55 angel::lowest_markowitz_face_t Class Reference . . . . . . . . . . . 358
9.56 angel::lowest_markowitz_vertex_t Class Reference . . . . . . . . . . 360
9.57 angel::lowest_relative_markowitz_edge_t Class Reference . . . . . . 362
9.58 angel::lowest_relative_markowitz_vertex_t Class Reference . . . . . 364
9.59 angel::lrm_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 366
9.60 angel::markowitz_enlargement_back_t Struct Reference . . . . . . . 368
9.61 angel::markowitz_enlargement_front_t Struct Reference . . . . . . . 370
9.62 angel::minimal_distance_edge_t Class Reference . . . . . . . . . . . 372
9.63 angel::minimal_distance_face_t Class Reference . . . . . . . . . . . 374
9.64 angel::momr_edge_t Class Reference . . . . . . . . . . . . . . . . . 376
9.65 angel::momr_face_t Class Reference . . . . . . . . . . . . . . . . . . 378
9.66 angel::momr_vertex_t Class Reference . . . . . . . . . . . . . . . . . 380
9.67 angel::momre_op_t Struct Reference . . . . . . . . . . . . . . . . . . 382
9.68 angel::momrf_op_t Struct Reference . . . . . . . . . . . . . . . . . . 383
9.69 angel::momrv_op_t Struct Reference . . . . . . . . . . . . . . . . . . 384
9.70 angel::moplr_vertex_t Class Reference . . . . . . . . . . . . . . . . . 385
9.71 angel::neighbor_check_meta_t Struct Reference . . . . . . . . . . . . 387
9.72 angel::neighbor_last_removable_t Struct Reference . . . . . . . . . . 389
9.73 angel::neighbor_multi_step_t Class Reference . . . . . . . . . . . . . 391
9.74 angel::neighbor_sequence_check_t Struct Reference . . . . . . . . . 393
9.75 angel::new_iks_t Class Reference . . . . . . . . . . . . . . . . . . . 395
9.76 angel::new_pik_t Class Reference . . . . . . . . . . . . . . . . . . . 397
9.77 angel::no_output_t Struct Reference . . . . . . . . . . . . . . . . . . 399
9.78 angel::not_lex_less_face_line_t Class Reference . . . . . . . . . . . . 401
9.79 angel::oplrv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 403
9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference . . . 405
9.81 angel::random_init_t Struct Reference . . . . . . . . . . . . . . . . . 410
9.82 angel::Rerouting Class Reference . . . . . . . . . . . . . . . . . . . . 411
9.83 angel::reverse_mode_edge_t Class Reference . . . . . . . . . . . . . 417
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
CONTENTS v
9.84 angel::reverse_mode_face_t Class Reference . . . . . . . . . . . . . . 419
9.85 angel::reverse_mode_face_whole_vertex_t Class Reference . . . . . . 421
9.86 angel::reverse_mode_vertex_t Class Reference . . . . . . . . . . . . 423
9.87 angel::SA_elimination_cost_t< Heuristic_t > Class Template Reference425
9.88 angel::source_not_independent_t Struct Reference . . . . . . . . . . 427
9.89 angel::stream_output_t Struct Reference . . . . . . . . . . . . . . . . 428
9.90 angel::string_stream_output_t Class Reference . . . . . . . . . . . . 430
9.91 angel::successor_t< Ad_graph_t > Class Template Reference . . . . 433
9.92 angel::target_not_dependent_t Struct Reference . . . . . . . . . . . . 438
9.93 angel::Transformation Class Reference . . . . . . . . . . . . . . . . . 439
9.94 angel::transformationSeq_cost_t Struct Reference . . . . . . . . . . . 443
9.95 angel::triplet_heuristic_t< Face_heuristic_t > Class Template Reference446
9.96 angel::triplet_t Struct Reference . . . . . . . . . . . . . . . . . . . . 448
9.97 angel::VertexVisited Struct Reference . . . . . . . . . . . . . . . . . 450
9.98 angel::vis_display_output_t Struct Reference . . . . . . . . . . . . . 451
9.99 angel::write_edge_bool_op_t Class Reference . . . . . . . . . . . . . 453
9.100angel::write_edge_eliad_op_t Class Reference . . . . . . . . . . . . . 455
9.101angel::write_edge_name_op_t Class Reference . . . . . . . . . . . . 457
9.102angel::write_edge_op_t Class Reference . . . . . . . . . . . . . . . . 459
9.103angel::write_face_number_op_t Class Reference . . . . . . . . . . . 461
9.104angel::write_face_op_t Class Reference . . . . . . . . . . . . . . . . 463
9.105angel::write_vertex_op_t Class Reference . . . . . . . . . . . . . . . 465
10 angel File Documentation 467
10.1 angel/angel.hpp File Reference . . . . . . . . . . . . . . . . . . . . . 467
10.2 angel/include/angel_comm.hpp File Reference . . . . . . . . . . . . . 468
10.3 angel/include/angel_comm_impl.hpp File Reference . . . . . . . . . 469
10.4 angel/include/angel_exceptions.hpp File Reference . . . . . . . . . . 470
10.5 angel/include/angel_io.hpp File Reference . . . . . . . . . . . . . . . 473
10.6 angel/include/angel_tools.hpp File Reference . . . . . . . . . . . . . 477
10.7 angel/include/angel_types.hpp File Reference . . . . . . . . . . . . . 485
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
vi CONTENTS
10.8 angel/include/eliminations.hpp File Reference . . . . . . . . . . . . . 490
10.9 angel/include/gmpi.hpp File Reference . . . . . . . . . . . . . . . . . 496
10.10angel/include/gmpi_impl.hpp File Reference . . . . . . . . . . . . . . 499
10.11angel/include/graph_generator.hpp File Reference . . . . . . . . . . . 500
10.12angel/include/heuristics.hpp File Reference . . . . . . . . . . . . . . 502
10.13angel/include/heuristics_impl.hpp File Reference . . . . . . . . . . . 511
10.14angel/include/reroutings.hpp File Reference . . . . . . . . . . . . . . 513
10.15angel/include/sa.hpp File Reference . . . . . . . . . . . . . . . . . . 515
10.16angel/include/sa_impl.hpp File Reference . . . . . . . . . . . . . . . 518
10.17angel/include/xaif_interface.hpp File Reference . . . . . . . . . . . . 519
10.18angel/src/angel_comm.cpp File Reference . . . . . . . . . . . . . . . 520
10.19angel/src/angel_io.cpp File Reference . . . . . . . . . . . . . . . . . 521
10.20angel/src/angel_tools.cpp File Reference . . . . . . . . . . . . . . . . 523
10.21angel/src/angel_types.cpp File Reference . . . . . . . . . . . . . . . 526
10.22angel/src/eliminations.cpp File Reference . . . . . . . . . . . . . . . 527
10.23angel/src/graph_generator.cpp File Reference . . . . . . . . . . . . . 530
10.24angel/src/heuristics.cpp File Reference . . . . . . . . . . . . . . . . . 532
10.25angel/src/reroutings.cpp File Reference . . . . . . . . . . . . . . . . 538
10.26angel/src/sa.cpp File Reference . . . . . . . . . . . . . . . . . . . . . 539
10.27angel/src/xaif_interface.cpp File Reference . . . . . . . . . . . . . . 540
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 1
ANGEL Reference Manual
Author:
Peter Gottschling et.al.
Version:
current snapshot
1.1 Introduction
ANGEL-Automatic differentiation Nested Graph Elimination Library is a template li-brary using the Boost Graph Library and the Standard C++ Library. It provides a sparserepresentation of c-graphs and their dual line graphs, vertex, edge and face elimination,a wide range of heuristics, simulated annealing, and a set of utility functions.
2 ANGEL Reference Manual
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 2
angel Directory Hierarchy
2.1 angel Directories
This directory hierarchy is sorted roughly, but not completely, alphabetically:
angel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18src . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 angel Directory Hierarchy
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 3
angel Namespace Index
3.1 angel Namespace List
Here is a list of all namespaces with brief descriptions:
angel (Namespace for the complete library ) . . . . . . . . . . . . . . . . . . 21boost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192GMPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193std . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200xaifBoosterCrossCountryInterface . . . . . . . . . . . . . . . . . . . . . . . 201
6 angel Namespace Index
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 4
angel Hierarchical Index
4.1 angel Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
angel::accu_exp_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211angel::accu_exp_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214angel::accu_exp_t::ref_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217angel::accu_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218angel::base_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
angel::consistency_exception . . . . . . . . . . . . . . . . . . . . . . . . 253angel::io_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
angel::base_heuristic_t< Objective_t > . . . . . . . . . . . . . . . . . . . . 223angel::base_heuristic_t< double > . . . . . . . . . . . . . . . . . . . . . . . 223
angel::forward_mode_edge_t . . . . . . . . . . . . . . . . . . . . . . . . 299angel::forward_mode_face_t . . . . . . . . . . . . . . . . . . . . . . . . 301angel::reverse_mode_edge_t . . . . . . . . . . . . . . . . . . . . . . . . 417angel::reverse_mode_face_t . . . . . . . . . . . . . . . . . . . . . . . . . 419
angel::base_heuristic_t< int > . . . . . . . . . . . . . . . . . . . . . . . . . 223angel::forward_mode_vertex_t . . . . . . . . . . . . . . . . . . . . . . . 303angel::lmmd_edge_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338angel::lmmd_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341angel::lowest_fill_in_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . 351angel::lowest_markowitz_edge_t . . . . . . . . . . . . . . . . . . . . . . 353angel::lowest_markowitz_face_complete_t< Heuristic_t > . . . . . . . . 355angel::lowest_markowitz_face_t . . . . . . . . . . . . . . . . . . . . . . 358angel::lowest_markowitz_vertex_t . . . . . . . . . . . . . . . . . . . . . 360angel::lowest_relative_markowitz_edge_t . . . . . . . . . . . . . . . . . 362angel::lowest_relative_markowitz_vertex_t . . . . . . . . . . . . . . . . 364angel::minimal_distance_edge_t . . . . . . . . . . . . . . . . . . . . . . 372
8 angel Hierarchical Index
angel::minimal_distance_face_t . . . . . . . . . . . . . . . . . . . . . . 374angel::momr_edge_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376angel::momr_face_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378angel::momr_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380angel::moplr_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385angel::reverse_mode_face_whole_vertex_t . . . . . . . . . . . . . . . . . 421angel::reverse_mode_vertex_t . . . . . . . . . . . . . . . . . . . . . . . 423
GMPI::buffer_t< Base_t > . . . . . . . . . . . . . . . . . . . . . . . . . . . 227angel::c_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235GMPI::Comm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
GMPI::Intracomm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317GMPI::comm_ref_t< Base_t, Object_t > . . . . . . . . . . . . . . . . . . . 251angel::dec_greater< vertex_t > . . . . . . . . . . . . . . . . . . . . . . . . . 254angel::diste_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256angel::distf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257angel::edge_address_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258angel::edge_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259angel::edge_equal_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . 260angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > . . . . . . . . . . . . . 262angel::edge_ij_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264angel::edge_less_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . . 266angel::edge_pair_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268angel::edge_reroute_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269angel::edge_vertex_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 271angel::EdgeElim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272angel::EdgeRef_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276angel::EdgeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278angel::elimination_history_t< Ad_graph_t, El_spec_t > . . . . . . . . . . . 279angel::elimSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290angel::empty_operator_t< operand_t > . . . . . . . . . . . . . . . . . . . . 293angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > . . . . . . . . . . 294angel::fiv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296angel::fixed_temperature_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 297angel::gamma_adaption_average_t . . . . . . . . . . . . . . . . . . . . . . . 305angel::gamma_adaption_max_t . . . . . . . . . . . . . . . . . . . . . . . . . 308angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > . . . . . . . . . . . . . 311angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > . . . . . 314angel::lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 321angel::line_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323angel::lme_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335angel::lmf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336angel::lmmde_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344angel::lmmdv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346angel::lmv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348angel::LOG_temperature_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
4.1 angel Class Hierarchy 9
angel::lrm_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366angel::markowitz_enlargement_back_t . . . . . . . . . . . . . . . . . . . . . 368angel::markowitz_enlargement_front_t . . . . . . . . . . . . . . . . . . . . . 370angel::momre_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382angel::momrf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383angel::momrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384angel::neighbor_check_meta_t . . . . . . . . . . . . . . . . . . . . . . . . . 387angel::neighbor_last_removable_t . . . . . . . . . . . . . . . . . . . . . . . 389angel::neighbor_multi_step_t . . . . . . . . . . . . . . . . . . . . . . . . . . 391angel::neighbor_sequence_check_t . . . . . . . . . . . . . . . . . . . . . . . 393angel::new_iks_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395angel::new_pik_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397angel::no_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
angel::string_stream_output_t . . . . . . . . . . . . . . . . . . . . . . . 430angel::stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . 428angel::vis_display_output_t . . . . . . . . . . . . . . . . . . . . . . . 451
angel::not_lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . 401angel::oplrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403angel::predecessor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . 405angel::random_init_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410angel::Rerouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411angel::SA_elimination_cost_t< Heuristic_t > . . . . . . . . . . . . . . . . . 425angel::source_not_independent_t . . . . . . . . . . . . . . . . . . . . . . . . 427angel::successor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . . 433angel::target_not_dependent_t . . . . . . . . . . . . . . . . . . . . . . . . . 438angel::Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439angel::transformationSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . 443angel::triplet_heuristic_t< Face_heuristic_t > . . . . . . . . . . . . . . . . . 446angel::triplet_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448angel::VertexVisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450angel::write_edge_bool_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 453angel::write_edge_eliad_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 455angel::write_edge_name_op_t . . . . . . . . . . . . . . . . . . . . . . . . . 457angel::write_edge_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459angel::write_face_number_op_t . . . . . . . . . . . . . . . . . . . . . . . . 461angel::write_face_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463angel::write_vertex_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10 angel Hierarchical Index
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 5
angel Class Index
5.1 angel Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
angel::accu_exp_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211angel::accu_exp_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214angel::accu_exp_t::ref_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217angel::accu_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218angel::base_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221angel::base_heuristic_t< Objective_t > . . . . . . . . . . . . . . . . . . . . 223GMPI::buffer_t< Base_t > . . . . . . . . . . . . . . . . . . . . . . . . . . 227angel::c_graph_t (C-graph type ) . . . . . . . . . . . . . . . . . . . . . . . . 235GMPI::Comm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248GMPI::comm_ref_t< Base_t, Object_t > . . . . . . . . . . . . . . . . . . . 251angel::consistency_exception . . . . . . . . . . . . . . . . . . . . . . . . . . 253angel::dec_greater< vertex_t > . . . . . . . . . . . . . . . . . . . . . . . . 254angel::diste_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256angel::distf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257angel::edge_address_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258angel::edge_elim_t (Edge edge to eliminate from c-graph and whether it
should be front or back eliminated ) . . . . . . . . . . . . . . . . . 259angel::edge_equal_t< Ad_graph_t > (Compares edges of different graphs ) . 260angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > (Creates a heuristic for
(i,j,front) type from a heuristic for (edge,front) ) . . . . . . . . . . . 262angel::edge_ij_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264angel::edge_less_t< Ad_graph_t > (Compares edges of different graphs
(lexicographically) ) . . . . . . . . . . . . . . . . . . . . . . . . . . 266angel::edge_pair_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268angel::edge_reroute_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
12 angel Class Index
angel::edge_vertex_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 271angel::EdgeElim (Graph-independent edge elimination ) . . . . . . . . . . . 272angel::EdgeRef_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276angel::EdgeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278angel::elimination_history_t< Ad_graph_t, El_spec_t > (Elimination his-
tory ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279angel::elimSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290angel::empty_operator_t< operand_t > (Empty operator class for dummy
arguments ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > (Simulates vertex
elimination heuristics with edge eliminations ) . . . . . . . . . . . . 294angel::fiv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296angel::fixed_temperature_t (Functor that returns fixed temperature ) . . . . . 297angel::forward_mode_edge_t (Operator class for mixed forward edge elimi-
nation ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299angel::forward_mode_face_t (Operator class for forward mode in face elim-
ination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301angel::forward_mode_vertex_t (Operator class for forward mode in vertex
elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303angel::gamma_adaption_average_t (Γ adaption on average min-max-
difference ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305angel::gamma_adaption_max_t (Γ adaption on maximal min-max-difference ) 308angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > (Make a pair of heuris-
tics ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > (Make
a pair of heuristics ) . . . . . . . . . . . . . . . . . . . . . . . . . . 314GMPI::Intracomm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317angel::io_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320angel::lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 321angel::line_graph_t (Line graph type ) . . . . . . . . . . . . . . . . . . . . . 323angel::lme_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335angel::lmf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336angel::lmmd_edge_t (Class for lowest Markowitz with minimal damage in
mixed edge elimination ) . . . . . . . . . . . . . . . . . . . . . . . 338angel::lmmd_vertex_t (Class for lowest Markowitz with minimal damage in
vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . 341angel::lmmde_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344angel::lmmdv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346angel::lmv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348angel::LOG_temperature_t (Functor that returns logarithmic temperature for
LSA ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349angel::lowest_fill_in_vertex_t (Operator class for lowest fill-in in vertex
elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351angel::lowest_markowitz_edge_t (Operator class for lowest Markowitz in
mixed edge elimination ) . . . . . . . . . . . . . . . . . . . . . . . 353
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
5.1 angel Class List 13
angel::lowest_markowitz_face_complete_t< Heuristic_t > (LowestMarkowitz for face elimination with completion of vertexelimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
angel::lowest_markowitz_face_t . . . . . . . . . . . . . . . . . . . . . . . . 358angel::lowest_markowitz_vertex_t (Operator class for lowest Markowitz in
vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . 360angel::lowest_relative_markowitz_edge_t (Operator class for lowest relative
Markowitz in mixed edge elimination ) . . . . . . . . . . . . . . . . 362angel::lowest_relative_markowitz_vertex_t (Operator class for relative low-
est Markowitz in vertex elimination ) . . . . . . . . . . . . . . . . . 364angel::lrm_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366angel::markowitz_enlargement_back_t . . . . . . . . . . . . . . . . . . . . 368angel::markowitz_enlargement_front_t . . . . . . . . . . . . . . . . . . . . 370angel::minimal_distance_edge_t (Minimizes the maximal distance of ver-
tices involved in an edge elimination The motivation is that forsmall distances it is not very probable to re-insert one of new edgeslater ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
angel::minimal_distance_face_t (Minimal distance for face elimination ) . . . 374angel::momr_edge_t (Operator class for lowest Markowitz in mixed edge
elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376angel::momr_face_t (Operator class for maximal overall Markowitz degree
reduction in face elimination ) . . . . . . . . . . . . . . . . . . . . 378angel::momr_vertex_t (Operator class for maximal overall Markowitz degree
reduction in vertex elimination ) . . . . . . . . . . . . . . . . . . . 380angel::momre_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382angel::momrf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383angel::momrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384angel::moplr_vertex_t (Operator class for maximal overall path length reduc-
tion in vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . 385angel::neighbor_check_meta_t (SA neighborhood either eliminate face from
eh.cg or undo some previous elimination ) . . . . . . . . . . . . . . 387angel::neighbor_last_removable_t (SA neighborhood either eliminate sth
from eh.cg or undo last elimination ) . . . . . . . . . . . . . . . . . 389angel::neighbor_multi_step_t (SA neighborhood for multiple eliminations or
re-insertions ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391angel::neighbor_sequence_check_t (SA neighborhood either eliminate face
from eh.cg or undo some previous elimination ) . . . . . . . . . . 393angel::new_iks_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395angel::new_pik_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397angel::no_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399angel::not_lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . 401angel::oplrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403angel::predecessor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . 405angel::random_init_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410angel::Rerouting (Graph-independent rerouting ) . . . . . . . . . . . . . . . 411
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
14 angel Class Index
angel::reverse_mode_edge_t (Operator class for mixed reverse edge elimina-tion ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
angel::reverse_mode_face_t (Operator class for reverse mode in vertex elim-ination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
angel::reverse_mode_face_whole_vertex_t (Operator class for reverse_-mode_face_whole_vertex ) . . . . . . . . . . . . . . . . . . . . . . 421
angel::reverse_mode_vertex_t (Operator class for reverse mode in vertexelimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
angel::SA_elimination_cost_t< Heuristic_t > (Computes the eliminationcosts for arbitrary elimination history type ) . . . . . . . . . . . . . 425
angel::source_not_independent_t . . . . . . . . . . . . . . . . . . . . . . . 427angel::stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428angel::string_stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . 430angel::successor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . 433angel::target_not_dependent_t . . . . . . . . . . . . . . . . . . . . . . . . . 438angel::Transformation (Graph-independent transformation ) . . . . . . . . . . 439angel::transformationSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . 443angel::triplet_heuristic_t< Face_heuristic_t > (Creates a heuristic for triplet
type from a heuristic for faces ) . . . . . . . . . . . . . . . . . . . . 446angel::triplet_t (Triplet of faces, used in face_elimination_history_t ) . . . . . 448angel::VertexVisited (Pure BGL type definition of c-graph ) . . . . . . . . . . 450angel::vis_display_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . 451angel::write_edge_bool_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 453angel::write_edge_eliad_op_t (Operator used in write_graph_eliad ) . . . . . 455angel::write_edge_name_op_t . . . . . . . . . . . . . . . . . . . . . . . . . 457angel::write_edge_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459angel::write_face_number_op_t . . . . . . . . . . . . . . . . . . . . . . . . 461angel::write_face_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463angel::write_vertex_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 6
angel File Index
6.1 angel File List
Here is a list of all files with brief descriptions:
angel/angel.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467angel/include/angel_comm.hpp . . . . . . . . . . . . . . . . . . . . . . . . 468angel/include/angel_comm_impl.hpp . . . . . . . . . . . . . . . . . . . . . 469angel/include/angel_exceptions.hpp . . . . . . . . . . . . . . . . . . . . . . 470angel/include/angel_io.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 473angel/include/angel_tools.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 477angel/include/angel_types.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 485angel/include/eliminations.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 490angel/include/gmpi.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496angel/include/gmpi_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 499angel/include/graph_generator.hpp . . . . . . . . . . . . . . . . . . . . . . . 500angel/include/heuristics.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . 502angel/include/heuristics_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . 511angel/include/reroutings.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . 513angel/include/sa.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515angel/include/sa_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 518angel/include/xaif_interface.hpp . . . . . . . . . . . . . . . . . . . . . . . . 519angel/src/angel_comm.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 520angel/src/angel_io.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521angel/src/angel_tools.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523angel/src/angel_types.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 526angel/src/eliminations.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 527angel/src/graph_generator.cpp . . . . . . . . . . . . . . . . . . . . . . . . . 530angel/src/heuristics.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532angel/src/reroutings.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
16 angel File Index
angel/src/sa.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539angel/src/xaif_interface.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 7
angel Directory Documentation
7.1 angel/ Directory Reference
angel
include
45
src
35
Directories
• directory include• directory src
Files
• file angel.hpp
18 angel Directory Documentation
7.2 angel/include/ Directory Reference
angel
include
Files
• file angel_comm.hpp• file angel_comm_impl.hpp• file angel_exceptions.hpp• file angel_io.hpp• file angel_tools.hpp• file angel_types.hpp• file eliminations.hpp• file gmpi.hpp• file gmpi_impl.hpp• file graph_generator.hpp• file heuristics.hpp• file heuristics_impl.hpp• file reroutings.hpp• file sa.hpp• file sa_impl.hpp• file xaif_interface.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
7.3 angel/src/ Directory Reference 19
7.3 angel/src/ Directory Reference
angel
src
include
35
Files
• file angel_comm.cpp• file angel_io.cpp• file angel_tools.cpp• file angel_types.cpp• file eliminations.cpp• file graph_generator.cpp• file heuristics.cpp• file reroutings.cpp• file sa.cpp• file xaif_interface.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
20 angel Directory Documentation
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 8
angel NamespaceDocumentation
8.1 angel Namespace Reference
Namespace for the complete library.
Classes
• class base_exception• class io_exception• class consistency_exception• class write_edge_eliad_op_t
Operator used in write_graph_eliad.
• struct no_output_t• class string_stream_output_t• struct stream_output_t• struct vis_display_output_t• class write_vertex_op_t• class write_edge_op_t• class write_edge_bool_op_t• class write_edge_name_op_t• class write_face_op_t• class write_face_number_op_t• struct edge_equal_t
Compares edges of different graphs.
22 angel Namespace Documentation
• struct edge_less_tCompares edges of different graphs (lexicographically).
• class lex_less_face_line_t• class not_lex_less_face_line_t• struct dec_greater• struct empty_operator_t
Empty operator class for dummy arguments.
• struct EdgeType• struct VertexVisited
Pure BGL type definition of c-graph.
• class c_graph_tC-graph type.
• class line_graph_tLine graph type.
• struct triplet_tTriplet of faces, used in face_elimination_history_t.
• class predecessor_t• class successor_t• struct edge_elim_t
Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.
• struct edge_pair_elim_t• struct edge_ij_elim_t• struct accu_exp_t• class accu_exp_graph_t• struct accu_graph_t• struct EdgeRef_t• struct edge_reroute_t• class EdgeElim
Graph-independent edge elimination.
• class ReroutingGraph-independent rerouting.
• class Transformation
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 23
Graph-independent transformation.
• struct elimSeq_cost_t• struct transformationSeq_cost_t• struct edge_vertex_elim_t• class elimination_history_t
Elimination history.
• struct random_init_t• class base_heuristic_t• class forward_mode_vertex_t
Operator class for forward mode in vertex elimination.
• class reverse_mode_vertex_tOperator class for reverse mode in vertex elimination.
• class lowest_markowitz_vertex_tOperator class for lowest Markowitz in vertex elimination.
• class lowest_relative_markowitz_vertex_tOperator class for relative lowest Markowitz in vertex elimination.
• class lowest_fill_in_vertex_tOperator class for lowest fill-in in vertex elimination.
• class lmmd_vertex_tClass for lowest Markowitz with minimal damage in vertex elimination.
• class momr_vertex_tOperator class for maximal overall Markowitz degree reduction in vertex elimination.
• class moplr_vertex_tOperator class for maximal overall path length reduction in vertex elimination.
• class forward_mode_edge_tOperator class for mixed forward edge elimination.
• class reverse_mode_edge_tOperator class for mixed reverse edge elimination.
• class lowest_markowitz_edge_tOperator class for lowest Markowitz in mixed edge elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
24 angel Namespace Documentation
• class lowest_relative_markowitz_edge_tOperator class for lowest relative Markowitz in mixed edge elimination.
• class lmmd_edge_tClass for lowest Markowitz with minimal damage in mixed edge elimination.
• class momr_edge_tOperator class for lowest Markowitz in mixed edge elimination.
• class minimal_distance_edge_tMinimizes the maximal distance of vertices involved in an edge elimination The moti-vation is that for small distances it is not very probable to re-insert one of new edgeslater.
• class forward_mode_face_tOperator class for forward mode in face elimination.
• class reverse_mode_face_tOperator class for reverse mode in vertex elimination.
• class reverse_mode_face_whole_vertex_tOperator class for reverse_mode_face_whole_vertex.
• class lowest_markowitz_face_t• class lowest_markowitz_face_complete_t
Lowest Markowitz for face elimination with completion of vertex elimination.
• class momr_face_tOperator class for maximal overall Markowitz degree reduction in face elimination.
• class minimal_distance_face_tMinimal distance for face elimination.
• class edge_ij_elim_heuristic_tCreates a heuristic for (i,j,front) type from a heuristic for (edge,front).
• class triplet_heuristic_tCreates a heuristic for triplet type from a heuristic for faces.
• class emulated_vertex_heuristic_tSimulates vertex elimination heuristics with edge eliminations.
• class heuristic_pair_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 25
Make a pair of heuristics.
• class heuristic_triplet_tMake a pair of heuristics.
• class LOG_temperature_tFunctor that returns logarithmic temperature for LSA.
• class fixed_temperature_tFunctor that returns fixed temperature.
• class SA_elimination_cost_tComputes the elimination costs for arbitrary elimination history type.
• struct neighbor_last_removable_tSA neighborhood either eliminate sth from eh.cg or undo last elimination.
• class neighbor_multi_step_tSA neighborhood for multiple eliminations or re-insertions.
• struct neighbor_sequence_check_tSA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.
• struct neighbor_check_meta_tSA neighborhood either eliminate face from eh.cg or undo some previous elimination.
• class gamma_adaption_max_tΓ adaption on maximal min-max-difference
• class gamma_adaption_average_tΓ adaption on average min-max-difference
• struct lmv_op_t• struct lrm_op_t• struct fiv_op_t• struct markowitz_enlargement_front_t• struct markowitz_enlargement_back_t• struct lmmdv_op_t• struct momrv_op_t• struct oplrv_op_t• struct lme_op_t• struct lmmde_op_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
26 angel Namespace Documentation
• struct momre_op_t• struct diste_op_t• struct lmf_op_t• class new_pik_t• struct source_not_independent_t• class new_iks_t• struct target_not_dependent_t• struct momrf_op_t• struct distf_op_t• struct edge_address_t
Typedefs
• typedef boost::property< boost::edge_weight_t, int > edge_weight_property• typedef boost::property< boost::edge_index_t, int, edge_weight_property >
edge_index_weight_property• typedef boost::property< EdgeType, int, edge_index_weight_property > edge_-
type_index_weight_property• typedef boost::property< VertexVisited, bool > vertex_visited_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,
vertex_visited_property, edge_type_index_weight_property > pure_c_graph_-t
Pure BGL type definition of c-graph.
• typedef std::pair< c_graph_t::edge_t, bool > edge_bool_tPair of c-graph edge and boolean to specify an edge elimination.
• typedef std::pair< int, int > ad_edge_t• typedef boost::property< boost::vertex_degree_t, int > vertex_degree_property• typedef boost::property< boost::vertex_name_t, ad_edge_t, vertex_degree_-
property > vertex_name_degree_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,
vertex_name_degree_property, boost::no_property > pure_line_graph_tPure BGL type definition of line graph.
• typedef std::vector< edge_elim_t > edge_elim_seq_t• typedef std::vector< edge_pair_elim_t > edge_pair_elim_seq_t• typedef std::vector< edge_ij_elim_t > edge_ij_elim_seq_t• typedef boost::property< boost::vertex_name_t, accu_exp_t > accu_exp_-
property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,
accu_exp_property, boost::no_property > pure_accu_exp_graph_t• typedef std::pair< unsigned int, unsigned int > uint_pair_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 27
• typedef std::set< c_graph_t::vertex_t > vertex_set_t• typedef std::map< uint_pair_t, vertex_set_t > refillDependenceMap_t• typedef vector< edge_vertex_elim_t > edge_vertex_elim_seq_t
sequences of edges as nodes from line graph
• typedef elimination_history_t< c_graph_t, c_graph_t::vertex_t > vertex_-elimination_history_t
Vertex elimination history for LSA usage.
• typedef elimination_history_t< c_graph_t, edge_ij_elim_t > edge_-elimination_history_t
Edge elimination history for LSA usage.
• typedef elimination_history_t< line_graph_t, triplet_t > face_elimination_-history_t
Face elimination history for LSA usage.
Enumerations
• enum vertex_type_t {
independent, intermediate, dependent, dead_vertex,
undefined_vertex }Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.
• enum Edge_Type_E { VARIABLE_EDGE, UNIT_EDGE, CONSTANT_EDGE}
• enum EdgeRefType_E { LCG_EDGE, JAE_VERT, UNDEFINED }
Functions
• int read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)
Read graph in EliAD graph format from file.
• void write_face (ostream &stream, line_graph_t::face_t face, const line_graph_t&lg)
Write a face face of lg to stream.
• void write_face (line_graph_t::face_t face, const line_graph_t &lg)Write a face face of lg to standard output.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
28 angel Namespace Documentation
• void write_face_vector (ostream &stream, const string &s, const vector< line_-graph_t::face_t > &v, const line_graph_t &lg)
Write a vector v of faces from lg to stream with comment s.
• void write_face_vector (const string &s, const vector< line_graph_t::face_t >&v, const line_graph_t &lg)
Write a vector v of faces from lg to standard output with comment s.
• template<typename T1, typename T2>
ostream & operator<< (ostream &stream, const std::pair< T1, T2 > &p)Write pair of arbitrary types to stream if their output operator is defined.
• template<typename Scalar_t>void write_vector (ostream &stream, const string &s, const vector< Scalar_t >&v)
Write STL vector v to stream with comment s if their output operator is defined.
• template<typename Scalar_t>void write_vector (const string &s, const vector< Scalar_t > &v)
Write STL vector v to standard output with comment s if their output operator isdefined.
• template<typename Scalar_t, typename Op_t>void write_vector (ostream &stream, const string &s, const vector< Scalar_t >&v, Op_t op)
Write STL vector to stream.
• template<typename Scalar_t, typename Op_t>void write_vector (const string &s, const vector< Scalar_t > &v, Op_t op)
Write STL vector to standard output.
• template<typename Ad_graph_t>void write_graph (ostream &stream, const string &s, const Ad_graph_t &adg,bool write_edge_weight)
Write c-graph or line graph to stream.
• template<typename Ad_graph_t>void write_graph (const string &s, const Ad_graph_t &adg, bool write_edge_-weight)
Write c-graph or line graph to standard output.
• template<typename Ad_graph_t>void write_graph (const string &file_name, const string &s, const Ad_graph_t&adg, bool write_edge_weight)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 29
Write c-graph or line graph to file.
• template<typename Ad_graph_t>void write_graph (ostream &stream, const string &s, const Ad_graph_t &adg)
Write c-graph or line graph to stream.
• template<typename Ad_graph_t>void write_graph (const string &s, const Ad_graph_t &adg)
Write c-graph or line graph to standard output.
• template<typename Ad_graph_t>void write_graph (const string &file_name, const string &s, const Ad_graph_t&adg)
Write c-graph or line graph to file.
• template<typename Ad_graph_t>void write_graph_eliad (ostream &stream, const Ad_graph_t &adg)
Write c-graph or line graph in EliAD format to stream.
• template<typename Ad_graph_t>void write_graph_eliad (const Ad_graph_t &adg)
Write c-graph or line graph in EliAD format to standard output.
• template<typename Ad_graph_t>void write_graph_eliad (const string &file_name, const Ad_graph_t &adg)
Write c-graph or line graph in EliAD format to file.
• template<typename Prop_t, typename Ad_graph_t>void write_vertex_property (ostream &stream, const string &s, const Prop_t&prop, const Ad_graph_t &adg)
Write internal vertex property to stream.
• template<typename Prop_t, typename Ad_graph_t>void write_edge_property (ostream &stream, const string &s, const Prop_-t &prop, const Ad_graph_t &adg)
Write internal edge property to stream.
• void open_log_file (int &argc, char ∗∗&argv)• void close_log_file ()• string numbered_filename (const string &basename, const string &suffix, int
number, int width=4)• template<class Value_t>
no_output_t & operator<< (no_output_t &out, const Value_t &)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
30 angel Namespace Documentation
• template<class Value_t>string_stream_output_t & operator<< (string_stream_output_t &out, constValue_t &value)
• void write_refillDependences (ostream &stream, const refillDependenceMap_t&refillDependences)
• void writeVertexAndEdgeTypes (ostream &stream, c_graph_t &angelLCG)• template<typename Ad_graph_t, typename Op_t>
void for_all_edges (Ad_graph_t &adg, const Op_t &op)Applies op to all edges of adg, graph can be changed.
• template<typename Ad_graph_t, typename Op_t>void for_all_edges (const Ad_graph_t &adg, Op_t &op)
Applies op to all edges of adg, op can be changed, e.g. for outputs.
• template<typename Ad_graph_t, typename Op_t>void for_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_graph_t&adg, const Op_t &op)
Applies op to all in-edges of v, graph can be changed.
• template<typename Ad_graph_t, typename Op_t>void for_all_out_edges (typename Ad_graph_t::vertex_descriptor v, Ad_graph_t&adg, const Op_t &op)
Applies op to all out-edges of v, graph can be changed.
• template<typename Ad_graph_t, typename Op_t>int sum_over_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)
Applies op to all in-edges of v and sum it.
• template<typename Ad_graph_t, typename Op_t>int sum_over_all_out_edges (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, const Op_t &op)
Applies op to all out-edges of v and sum it.
• template<typename Ad_graph_t>void successor_set (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)
Returns successor set of v as vector vec.
• template<typename Ad_graph_t>void sorted_successor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 31
Returns successor set of v as vector vec, vertices are sorted.
• template<typename Ad_graph_t>void predecessor_set (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)
Returns successor set of v as vector vec.
• template<typename Ad_graph_t>void sorted_predecessor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns successor set of v as vector vec, vertices are sorted.
• bool 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 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 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.
• template<typename El_t>void unique_vector (std::vector< El_t > &v)
Sorts arbitrary vector and removes double elements.
• template<typename Ad_graph_t>void common_successors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have common successors with v.
• template<typename Ad_graph_t>void same_successors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)
Returns set of vertices (in vec) that have same successor set as v.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
32 angel Namespace Documentation
• template<typename Ad_graph_t>void common_predecessor (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have common predecessors with v.
• template<typename Ad_graph_t>void same_predecessors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)
Returns set of vertices (in vec) that have same predecessor set as v.
• template<typename Ad_graph_t>void same_neighbors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)
Returns set of vertices (in vec) that have same predecessor and successor set as v.
• template<typename It_t, typename Op_t>std::ostream & write_iterators (std::ostream &stream, const std::string &s, It_tbegin, It_t end, Op_t op)
• template<typename Ad_graph_t>graph_traits< Ad_graph_t >::edge_iterator same_edge (typename Ad_graph_-t::edge_descriptor e, const Ad_graph_t &g1, const Ad_graph_t &g2)
Returns same edge in another graph.
• template<typename Ad_graph_t>vertex_type_t vertex_type (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg)
Functional equivalent for graph class method (more boost-like).
• template<typename Ad_graph_t>int count_parallel_edges (typename Ad_graph_t::edge_descriptor e, const Ad_-graph_t &g)
• c_graph_t::edge_t getEdge (unsigned int i, unsigned int j, const c_graph_t &an-gelLCG)
Returns the edge in angelLCG that has source i and target j.
• bool lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_t&cg)
Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.
• bool lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_-t &cg)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 33
Returns whether e1 is lexicographically less than e2 w.r.t. source and target.
• bool inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)
Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.
• bool inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_t&cg)
Returns whether e1 is lexicographically less than e2 w.r.t. target and source.
• bool lex_greater (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool lex_less (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, const line_-
graph_t &lg)• int random (int min, int max)
Random value between min and max, i.e. from [min, max].
• double random (double n)Random value from [0, n).
• int random (int n)Random value between 0 and n-1, i.e. from [0, n).
• int random_high (int n, int exp=2)Random value from [0, n) where larger values have higher probability (increases withexp).
• int random (const std::vector< double > &p)Random number characterized by p, the accumulated probabities.
• void 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.
• bool find_edge (int s, int t, const line_graph_t &lg, std::vector< line_graph_-t::edge_t > &ev)
Searches an edge in line graph that corresponds to (s,t).
• bool is_bipartite (const c_graph_t &cg)Tests if cg is bi-partite.
• bool is_tripartite (const line_graph_t &lg)Tests if lg is tri-partite.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
34 angel Namespace Documentation
• void number_dependent_vertices (const c_graph_t &cg, std::vector< int >&v)
Returns for each vertex how many dependent vertices depent on it.
• void number_independent_vertices (const c_graph_t &cg, std::vector< int >&v)
Returns for each vertex on how many independent vertices it depends.
• template<typename Ad_graph_t>void reachable_vertices (const Ad_graph_t &adg, std::vector< bool > &rv)
Computes all reachable vertices for c- and line graphs.
• template<typename Ad_graph_t>void relevant_vertices (const Ad_graph_t &adg, std::vector< bool > &rv)
Computes all relevant vertices for c- and line graphs.
• template<typename Neighbor_t>bool search_path (const std::vector< c_graph_t::vertex_t > &from, conststd::vector< c_graph_t::vertex_t > &to, const Neighbor_t &n, std::vector< c_-graph_t::vertex_t > &path, bool breadth_first=false)
• template<typename Neighbor_t>int maximal_paths (c_graph_t::vertex_t v, const Neighbor_t &nin, std::vector<std::vector< c_graph_t::vertex_t > > &paths)
• template<typename Neighbor_t>int minimal_in_out_degree (c_graph_t::vertex_t v, const Neighbor_t &nin)
• void minimal_markowitz_degree (const c_graph_t &cg, std::vector< int >&v)
Minimal Markowitz degree for each vertex.
• int overall_minimal_markowitz_degree (const c_graph_t &cg)
Sum of minimal Markowitz degrees.
• void permutate_vertices (const c_graph_t &gin, const std::vector< c_graph_-t::vertex_t > &p, c_graph_t &gout)
Permutates vertices, vertex v in gin becomes p[v] in gout.
• void independent_vertices_to_front (const c_graph_t &gin, const std::vector<c_graph_t::vertex_t > &indeps, c_graph_t &gout)
Independent vertices, given by indeps, becomes first vertices in gout.
• void put_unit_vertex_weight (line_graph_t &lg)
Sets all vertex labels (in ed) to 1.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 35
• void put_unit_edge_weight (c_graph_t &cg)Sets all edge labels (in ew) to 1.
• int renumber_edges (c_graph_t &cg)Renumber edges of cg continously, i.e. to [0..num_edges-1].
• void take_over_successors (c_graph_t::vertex_t v1, c_graph_t::vertex_t v2, intoffset, const c_graph_t &g1, int &edge_number, c_graph_t &g2)
• template<typename Ad_graph_t>int remove_irrelevant_edges (typename Ad_graph_t::vertex_descriptor i, Ad_-graph_t &adg, bool fast=false)
Removes irrelevant edges from adg starting with i.
• template<typename Ad_graph_t>int remove_unreachable_edges (typename Ad_graph_t::vertex_descriptor i,Ad_graph_t &adg, bool fast=false)
Removes unreachable edges from adg starting with i.
• template<typename Ad_graph_t>int remove_edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_-t &adg)
Removes irrelevant and unreachable edges from adg starting with i.
• int remove_hoisting_vertices (c_graph_t &cg)Removes all vertices with one predecessor and one successor from cg.
• void remove_parallel_edges (c_graph_t &cg)Removes parallel edges.
• void remove_trivial_edges (c_graph_t &cg)Eliminates all edges with label 1, front elimination is preferred.
• size_t block_begin (size_t i, size_t p, size_t n)First index in ith of p blocks where overall size is n (indices 0..n-1).
• double gen_prob ()Returns a random number between zero and one.
• unsigned int chooseTarget_sa (std::vector< double > &deltaE)Randomly chooses an index into the vector deltaE.
• int chooseEdgeElimRandomly (std::vector< double > &deltaE)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
36 angel Namespace Documentation
• int chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)• bool operator== (const c_graph_t &g1, const c_graph_t &g2)
Compares two c-graphs.
• bool operator!= (const c_graph_t &g1, const c_graph_t &g2)
Compares two c-graphs.
• int overall_markowitz_degree (const c_graph_t &cg)
Markowitz degree of all vertices in cg.
• bool 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 > edge (typename Ad_-graph_t::vertex_descriptor u, typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &g)
Replaces edge function of BGL.
• void 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 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 operator== (const line_graph_t &g1, const line_graph_t &g2)
Compares two line graphs.
• bool operator!= (const line_graph_t &g1, const line_graph_t &g2)
Compares two line graphs.
• int overall_markowitz_degree (const line_graph_t &lg)
Markowitz degree of all vertices.
• int markowitz_degree (int j, const line_graph_t &lg)
Markowitz.
• std::ostream & operator<< (std::ostream &stream, const triplet_t &t)
Output operator of triplet_t.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 37
• std::ostream & operator<< (std::ostream &stream, const edge_pair_elim_-t &ee)
Output operator of edge_pair_elim_t.
• std::ostream & operator<< (std::ostream &stream, const edge_ij_elim_t &ee)Output operator of edge_ij_elim_t.
• std::ostream & operator<< (std::ostream &stream, const accu_exp_t &exp)• int vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int vertex_elimination (int j, c_graph_t &cg)• int front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int front_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, c_-
graph_t &cg)• int front_edge_elimination (int i, int j, c_graph_t &cg)• int back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int back_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, c_-
graph_t &cg)• int back_edge_elimination (int i, int j, c_graph_t &cg)• int edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t &cg)• int edge_elimination (edge_bool_t e, c_graph_t &cg)• int edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, bool front, c_-
graph_t &cg)• int edge_elimination (int i, int j, bool front, c_graph_t &cg)• int edge_elimination (edge_ij_elim_t ee, c_graph_t &cg)
Edge elimination specified by ee.
• int vertex_elimination (const vector< int > &seq, c_graph_t &cg)• int edge_elimination (const edge_elim_seq_t &seq, c_graph_t &cg)• int edge_elimination (const edge_pair_elim_seq_t &seq, c_graph_t &cg)• int edge_elimination (const edge_ij_elim_seq_t &seq, c_graph_t &cg)• int vertex_elimination (int j, line_graph_t &lg)• int front_edge_elimination (int i, int j, line_graph_t &lg)• int front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int back_edge_elimination (int i, int j, line_graph_t &lg)• int back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int edge_elimination (int i, int j, bool front, line_graph_t &lg)• int edge_elimination (line_graph_t::edge_t vij, bool front, line_graph_t &lg)
Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.
• int edge_elimination (const edge_vertex_elim_seq_t &seq, line_graph_t &lg)Eliminate sequence seq of edges from line graph lg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
38 angel Namespace Documentation
• int face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg, accu_-graph_t &ac)
• int face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg)• int face_elimination (line_graph_t::face_t f, line_graph_t &lg)• int face_elimination (int i, int j, line_graph_t &lg)• int face_elimination (int i, int j, int kr, line_graph_t &lg)• int face_elimination (int i, int j, int kr, line_graph_t &lg, accu_graph_t &ac)• int face_elimination (triplet_t &t, line_graph_t &lg)• int face_elimination (triplet_t &t, line_graph_t &lg, accu_graph_t &ac)• int was_non_trivial_elimination (int i, int j, int k, const line_graph_t &lg)• int was_non_trivial_elimination (line_graph_t::face_t f, int k, const line_graph_t
&lg)• int eliminate (c_graph_t::vertex_t v, c_graph_t &cg)
Overloaded elimination for templates, here vertex elimination in c-graph.
• int eliminate (int j, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.
• int eliminate (int j, line_graph_t &lg)Overloaded elimination for templates, here vertex elimination in line graph.
• int eliminate (edge_bool_t e, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.
• int eliminate (edge_ij_elim_t ee, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.
• int eliminate (line_graph_t::face_t f, line_graph_t &lg)• int eliminate (triplet_t &t, line_graph_t &lg)• int eliminatable_vertices (const c_graph_t &cg, vector< c_graph_t::vertex_t >
&vv)Returns a set of vertices that can be eliminated from c-graph cg.
• int semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)
Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.
• int eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t >&ev)
Returns a set of edges that can be eliminated from c-graph cg.
• int front_eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 39
Returns a set of edges that can be front eliminated from c-graph cg.
• int back_eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)
Returns a set of edges that can be back eliminated from c-graph cg.
• int eliminatable_edges (const c_graph_t &cg, vector< edge_bool_t > &ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
• int eliminatable_edges (const c_graph_t &cg, vector< edge_ij_elim_t > &ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
• unsigned int eliminatable_edges (const c_graph_t &cg, vector< EdgeElim >&ev)
Returns a set of edges that can be eliminated from c-graph cg.
• int eliminatable_faces (const line_graph_t &lg, vector< line_graph_t::face_t >&fv)
Returns a set of faces that can be eliminated from line graph lg.
• int eliminatable_triplets (const line_graph_t &lg, vector< triplet_t > &tv)
Returns a set of eliminatable faces as triplets tv from line graph lg.
• int eliminatable_objects (const c_graph_t &cg, vector< c_graph_t::vertex_t >&vv)
Synonym of eliminatable_vertices for usage in templates.
• int eliminatable_objects (const c_graph_t &cg, vector< c_graph_t::edge_t >&ev)
Synonym of eliminatable_edges for usage in templates.
• int eliminatable_objects (const c_graph_t &cg, vector< edge_bool_t > &ev)
Synonym of eliminatable_edges for usage in templates.
• int eliminatable_objects (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)
Synonym of eliminatable_edges for usage in templates.
• int eliminatable_objects (const line_graph_t &lg, vector< line_graph_t::face_t> &fv)
Synonym of eliminatable_faces for usage in templates.
• int eliminatable_objects (const line_graph_t &lg, vector< triplet_t > &tv)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
40 angel Namespace Documentation
Synonym of eliminatable_triplets for usage in templates.
• bool convert_elimination_sequence (const vector< c_graph_t::vertex_t > &vv,const c_graph_t &cg, vector< edge_ij_elim_t > &ev)
Converts vertex elimination sequence into (mixed) edge elimination sequence.
• bool convert_elimination_sequence (const vector< edge_ij_elim_t > &ev, constline_graph_t &lg, vector< triplet_t > &tv)
Converts (mixed) edge elimination sequence into face elimination sequence.
• EdgeRefType_E getRefType (const c_graph_t::edge_t e, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)
• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)
• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, const list<EdgeRef_t > &edge_ref_list)
• void setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)
• void removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG, list<EdgeRef_t > &edge_ref_list)
• unsigned int multiply_edge_pair_directly (const c_graph_t::edge_t e1, const c_-graph_t::edge_t e2, c_graph_t &angelLCG, list< EdgeRef_t > &edge_ref_-list, xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionList&jae_list)
• unsigned int front_eliminate_edge_directly (c_graph_t::edge_t e, c_graph_-t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionList &jae_list)
• unsigned int back_eliminate_edge_directly (c_graph_t::edge_t e, c_graph_-t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionList &jae_list)
• unsigned int pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_t e2, c_graph_-t &angelLCG, const elimSeq_cost_t ¤tElimSeq, refillDependenceMap_t&refillDependences)
• unsigned int front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG, constelimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDependences)
• unsigned int back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG, constelimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDependences)
• unsigned int pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 41
• unsigned int frontEdgeElimination_noJAE (c_graph_t::edge_t e, c_graph_t&angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence,refillDependenceMap_t &refillDependences)
• unsigned int backEdgeElimination_noJAE (c_graph_t::edge_t e, c_graph_t&angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence,refillDependenceMap_t &refillDependences)
• void random_statement (int inputs, int expr, const std::vector< double > &p,c_graph_t &statement)
Generates a random statement.
• void random_statement_vector (int max_expr, double unary, std::vector< c_-graph_t > &statement_vector)
Generates a vector of random statements.
• void stats2block (int inputs, int outputs, const std::vector< c_graph_t > &stats,c_graph_t &block)
Build a block from a list of statements.
• void random_block (int inputs, int outputs, int stats, int max_exp, double unary,c_graph_t &block)
Generates a random basic block.
• void block2loop (const c_graph_t &block, int loops, c_graph_t &loop)
Generates a DAG that represents a loop over the block.
• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int standard_heuristic_op (const vector< Object_t > &v1, const Ad_graph_-t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t >&h)
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
• int forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in edge elimination.
• int forward_mode_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in front edge elimination.
• int forward_mode_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in back edge elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
42 angel Namespace Documentation
• int reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in edge elimination.
• int reverse_mode_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in front edge elimination.
• int reverse_mode_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in back edge elimination.
• int lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in edge elimination.
• int lowest_markowitz_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in front edge elimination.
• int lowest_markowitz_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in back edge elimination.
• int lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t >&ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest relative Markowitz in edge elimination.
• int lowest_relative_markowitz_edge_front (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest relative Markowitz in front edge elimination.
• int lowest_relative_markowitz_edge_back (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest relative Markowitz in back edge elimination.
• int lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Fill-in in edge elimination.
• int lowest_fill_in_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest fill-in in front edge elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 43
• int lowest_fill_in_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest fill-in in back edge elimination.
• int momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in edge elimination.
• int momr_edge_front (const vector< c_graph_t::edge_t > &ev1, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in front edge elimination.
• int momr_edge_back (const vector< c_graph_t::edge_t > &ev1, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in back edge elimination.
• int moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall path length reduction in mixed edge elimination.
• void markowitz_on_line_graph (const line_graph_t &lg, vector< int > &mde-gree)
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic_noconst (Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic_debug (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)
Debugging version of use_heuristic, several outputs.
• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int use_heuristic_trace (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h, Output_t output)
Tracing version of use_heuristic, writes costs for every elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
44 angel Namespace Documentation
• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int apply_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h, Output_t output)
Applies heuristic and uses output visitor write costs and graphs for every elimination.
• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)
Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.
• template<class Object_t, class Ad_graph_t, class Op_t>int find_best_subset (const vector< Object_t > &v1, const Ad_graph_t &adg,vector< Object_t > &v2, Op_t op, bool maximize)
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
• int edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion be.
• int edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion ee.
• bool maintaining_edge_eliminations (const vector< EdgeE-lim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets that don’t increase the nontrivial edgecount.
• bool reducing_edge_eliminations (const vector< EdgeE-lim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets that decrease the nontrivial edge count.
• bool refill_avoiding_edge_eliminations (const vector< EdgeElim > &bev1, c_-graph_t &angelLCG, const refillDependenceMap_t refillDependences, vector<EdgeElim > &bev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 45
Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).
• bool rerouting_considerate_edge_eliminations (const vector< EdgeElim >&bev, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)
• unsigned int lowestMarkowitzEdgeElim (const vector< EdgeElim > &inEEV,const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)
• bool reverseModeEdgeElim (const vector< EdgeElim > &inEEV, const c_-graph_t &angelLCG, vector< EdgeElim > &outEEV)
• size_t noncyclicReroutings (const vector< Rerouting > &erv, const std::vector<Transformation > &transformationsPerformedV, const c_graph_t &angelLCG,vector< Rerouting > &noncyclicReroutingsV)
• bool reducing_reroutings (const vector< Rerout-ing > &erv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Rerouting > &reducingReroutingsV)
• int transformation_effect (const Transformation t, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
• bool all_viable_transformations (c_graph_t &angelLCG, const std::vector<Transformation > &transformationsPerformedV, vector< Transformation >&allViableTransformationsV)
• bool maintaining_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)
• bool reducing_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)
• bool refill_avoiding_transformations (const vector<Transformation > &tv, c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences,vector< Transformation > &refillAvoidingTransformationsV)
• bool rerouting_considerate_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)
• bool lowest_markowitz_transformations (const vector< Transformation > &tv,const c_graph_t &angelLCG, vector< Transformation > &lowestMarkowitz-TransformationsV)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
46 angel Namespace Documentation
• bool reverse_mode_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, vector< Transformation > &reverseModeTransforma-tionsV)
• void reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t > &erv)• unsigned int reroutable_edges (c_graph_t &angelLCG, vector< Rerouting >
&allReroutingsV)• int reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,
const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool &incrementIsTrivial)
• unsigned int preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
• unsigned int postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
• unsigned int prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &angelLCG)• unsigned int postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &angelLCG)• template<class Temp_t>
double SA_acceptance (int diff, int it, Temp_t temp)Probability to accept new object in SA.
• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_t temp, intmax_iter)
Simulated Annealing in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t>int LSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double gamma,int max_iter)
Logarithmic Simulated Annealing in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t>int FTSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double t, intmax_iter)
Metropolis with fixed temperature in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Adaption_tadaption, double &gamma, int max_iter)
Adaptive Logarithmic Simulated Annealing in generic form.
• void neighbor_swap (const std::vector< int > &old_seq, std::vector< int >&seq)
Swap two vertices in sequence (historical, only vertex elimination).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 47
• void write_face (std::ostream &stream, line_graph_t::face_t face, const line_-graph_t &lg)
• void write_face_vector (std::ostream &stream, const std::string &s, conststd::vector< line_graph_t::face_t > &v, const line_graph_t &lg)
• void permutate_vertices (const c_graph_t &gin, const vector< c_graph_-t::vertex_t > &p, c_graph_t &gout)
• void independent_vertices_to_front (const c_graph_t &gin, const vector< c_-graph_t::vertex_t > &indeps, c_graph_t &gout)
• int eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_t::edge_t >&ev)
• int front_eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)
• int back_eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)
• int eliminatable_edges (const c_graph_t &cg, std::vector< edge_bool_t > &ev)• int eliminatable_edges (const c_graph_t &cg, std::vector< edge_ij_elim_t >
&ev)• unsigned int eliminatable_edges (const c_graph_t &cg, std::vector< EdgeElim
> &ev)• int eliminatable_faces (const line_graph_t &lg, std::vector< line_graph_-
t::face_t > &fv)• void random_statement (int inputs, int expr, const vector< double > &p, c_-
graph_t &statement)• int new_in_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int new_out_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int markowitz_enlargement_front (c_graph_t::edge_t e, const c_graph_t &cg,
bool eliminate_parallel_edges=false)• int markowitz_enlargement_front (c_graph_t::edge_t e, c_graph_t::edge_t e2,
const c_graph_t &cg)• int markowitz_enlargement_back (c_graph_t::edge_t e, const c_graph_t &cg,
bool eliminate_parallel_edges=false)• int markowitz_enlargement_back (c_graph_t::edge_t e, c_graph_t::edge_t e2,
const c_graph_t &cg)• int markowitz_enlargement_all_neighbors (c_graph_t::vertex_t v, const c_-
graph_t &cg)• int oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const vector< int >
&vni, const vector< int > &vli, const vector< int > &vno, const vector< int >&vlo, const c_graph_t &cg)
• int oplr_edge_front (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)
• int oplr_edge_back (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
48 angel Namespace Documentation
• double fme_obj (edge_bool_t eb, const c_graph_t &cg)• double rme_obj (edge_bool_t eb, const c_graph_t &cg)• int fill_in_front (c_graph_t::edge_t e, const c_graph_t &cg)• int fill_in_back (c_graph_t::edge_t e, const c_graph_t &cg)• int lmmd_edge_front (c_graph_t::edge_t e, double w, const c_graph_t &cg)• int lmmd_edge_back (c_graph_t::edge_t e, double w, const c_graph_t &cg)• int momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg)• int momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg)• double fmf_obj (line_graph_t::face_t f, const line_graph_t &lg)• int edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG, const
AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• int edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG, const
AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• bool maintaining_edge_eliminations (const vector< EdgeElim > &bev1, const
c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< EdgeElim > &bev2)
• bool reducing_edge_eliminations (const vector< EdgeElim > &bev1, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< EdgeElim > &bev2)
• bool reducing_reroutings (const vector< Rerouting > &erv, const c_graph_-t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,vector< Rerouting > &reducingReroutingsV)
• int transformation_effect (const Transformation t, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)
• bool maintaining_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Transformation > &maintainingTransformationsV)
• bool reducing_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Transformation > &reducingTransformationsV)
• bool refill_avoiding_transformations (const vector< Transformation > &tv,c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const refillDependenceMap_t &refillDependences, vector< Transfor-mation > &refillAvoidingTransformationsV)
• int reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, bool &incre-mentIsTrivial)
• unsigned int preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)
• unsigned int postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 49
• size_t which_index (const LinearizedComputationalGraphVertex ∗const add,const vector< const LinearizedComputationalGraphVertex ∗ > &av)
• void read_graph_xaif_booster (const LinearizedComputationalGraph &xg, c_-graph_t &cg, vector< const LinearizedComputationalGraphVertex ∗ > &av,vector< edge_address_t > &ae)
• const LinearizedComputationalGraphEdge ∗ xaif_edge_pr (line_graph_-t::edge_t e, const accu_graph_t &ag, const vector< edge_address_t > &ae)
• void write_graph_xaif_booster (const accu_graph_t &ag, const vector< constLinearizedComputationalGraphVertex ∗ > &av, const vector< edge_address_-t > &ae, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
• unsigned int num_nontrivial_edges (const c_graph_t &angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel)
• unsigned int numIntermediateVertices (const c_graph_t &angelLCG)• unsigned int numIntermediateVerticesWithoutUnitEdge (const c_graph_t &an-
gelLCG)• void ourLCG_to_angelLCG (const LinearizedComputationalGraph &ourLCG,
vector< const LinearizedComputationalGraphVertex ∗ > &ourLCG_verts, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list)
• void populate_remainderGraph_and_correlationLists (const c_graph_t &an-gelLCG, const vector< const LinearizedComputationalGraphVertex ∗ >ourLCG_verts, const list< EdgeRef_t > &edge_ref_list, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
• unsigned int replay_transformation_seq (c_graph_t &angelLCG, constvector< Transformation > transformationSeqV, unsigned int &previous_-numNontrivialEdges, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, transformationSeq_cost_t &dummy_transformationSeq_cost,refillDependenceMap_t &dummy_refillDependenceMap)
Variables
• ofstream log_file• no_output_t no_output• string_stream_output_t cout_string_output• vis_display_output_t cout_vis_display_output• random_init_t random_init_object• forward_mode_vertex_t forward_mode_vertex
Forward mode in vertex elimination.
• reverse_mode_vertex_t reverse_mode_vertex
Reverse mode in vertex elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
50 angel Namespace Documentation
• lowest_markowitz_vertex_t lowest_markowitz_vertex
Lowest Markowitz degree first in vertex elimination.
• lowest_relative_markowitz_vertex_t lowest_relative_markowitz_vertex
Lowest relative Markowitz degree first in vertex elimination.
• lowest_fill_in_vertex_t lowest_fill_in_vertex
Lowest fill-in in vertex elimination.
• lmmd_vertex_t lmmd_vertex
Predefined object of lmmd_vertex_t with weight=1.0.
• momr_vertex_t momr_vertex
Instance of momr_vertex_t, can be used as a function and an argument.
• moplr_vertex_t moplr_vertex
Maximal overall path length reduction in vertex elimination.
• forward_mode_edge_t forward_mode_edge
Forward mode in edge elimination (mixed front and back elimination).
• reverse_mode_edge_t reverse_mode_edge
Reverse mode in edge elimination (mixed front and back elimination).
• lowest_markowitz_edge_t lowest_markowitz_edge
Lowest Markowitz in edge elimination (mixed front and back elimination).
• lowest_relative_markowitz_edge_t lowest_relative_markowitz_edge
Lowest relative Markowitz in edge elimination (mixed front and back elimination).
• lmmd_edge_t lmmd_edge
Predefined object of lmmd_edge_t with weight=1.0.
• momr_edge_t momr_edge
Maximal overall Markowitz reduction in mixed edge elimination.
• forward_mode_face_t forward_mode_face
Forward mode in face elimination.
• reverse_mode_face_t reverse_mode_face
Reverse mode in face elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 51
• reverse_mode_face_whole_vertex_t reverse_mode_face_whole_vertex
Reverse mode emulating vertex elimination with face eliminations.
• lowest_markowitz_face_t lowest_markowitz_face
Lowest Markowitz for face elimination.
• momr_face_t momr_face
Maximal overall Markowitz degree reduction in face elimination.
• ofstream log_file• no_output_t no_output• string_stream_output_t cout_string_output (std::cout)• vis_display_output_t cout_vis_display_output (std::cout)• random_init_t random_init_object• forward_mode_vertex_t forward_mode_vertex
Forward mode in vertex elimination.
• reverse_mode_vertex_t reverse_mode_vertex
Reverse mode in vertex elimination.
• lowest_markowitz_vertex_t lowest_markowitz_vertex
Lowest Markowitz degree first in vertex elimination.
• lowest_relative_markowitz_vertex_t lowest_relative_markowitz_vertex
Lowest relative Markowitz degree first in vertex elimination.
• lowest_fill_in_vertex_t lowest_fill_in_vertex
Lowest fill-in in vertex elimination.
• lmmd_vertex_t lmmd_vertex (1.0)
Predefined object of lmmd_vertex_t with weight=1.0.
• momr_vertex_t momr_vertex
Instance of momr_vertex_t, can be used as a function and an argument.
• moplr_vertex_t moplr_vertex
Maximal overall path length reduction in vertex elimination.
• forward_mode_edge_t forward_mode_edge
Forward mode in edge elimination (mixed front and back elimination).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
52 angel Namespace Documentation
• reverse_mode_edge_t reverse_mode_edge
Reverse mode in edge elimination (mixed front and back elimination).
• lowest_markowitz_edge_t lowest_markowitz_edge
Lowest Markowitz in edge elimination (mixed front and back elimination).
• lowest_relative_markowitz_edge_t lowest_relative_markowitz_edge
Lowest relative Markowitz in edge elimination (mixed front and back elimination).
• lmmd_edge_t lmmd_edge (1.0)
Predefined object of lmmd_edge_t with weight=1.0.
• momr_edge_t momr_edge
Maximal overall Markowitz reduction in mixed edge elimination.
• minimal_distance_edge_t minimal_distance_edge• forward_mode_face_t forward_mode_face
Forward mode in face elimination.
• reverse_mode_face_t reverse_mode_face
Reverse mode in face elimination.
• reverse_mode_face_whole_vertex_t reverse_mode_face_whole_vertex
Reverse mode emulating vertex elimination with face eliminations.
• momr_face_t momr_face
Maximal overall Markowitz degree reduction in face elimination.
8.1.1 Detailed Description
Namespace for the complete library.
8.1.2 Typedef Documentation
8.1.2.1 typedef boost::property<boost::vertex_name_t, accu_exp_t>angel::accu_exp_property
Definition at line 638 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 53
8.1.2.2 typedef std::pair<int, int> angel::ad_edge_t
Definition at line 242 of file angel_types.hpp.
8.1.2.3 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.
Definition at line 235 of file angel_types.hpp.
8.1.2.4 typedef std::vector<edge_elim_t> angel::edge_elim_seq_t
Sequences of edges from the compute graph with information which edges shall befront eliminate
Definition at line 598 of file angel_types.hpp.
8.1.2.5 typedef elimination_history_t<c_graph_t, edge_ij_elim_t>angel::edge_elimination_history_t
Edge elimination history for LSA usage.
See also:
elimination_history_t
Definition at line 733 of file eliminations.hpp.
8.1.2.6 typedef std::vector<edge_ij_elim_t> angel::edge_ij_elim_seq_t
Sequences of pairs of vertex numbers with information which edges shall be fronteliminate
Definition at line 606 of file angel_types.hpp.
8.1.2.7 typedef boost::property<boost::edge_index_t, int,edge_weight_property> angel::edge_index_weight_property
Definition at line 50 of file angel_types.hpp.
8.1.2.8 typedef std::vector<edge_pair_elim_t> angel::edge_pair_elim_seq_t
Sequences of pairs of vertices from the compute graph with information which edgesshall be front eliminate
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
54 angel Namespace Documentation
Definition at line 602 of file angel_types.hpp.
8.1.2.9 typedef boost::property<EdgeType, int, edge_index_weight_property>angel::edge_type_index_weight_property
Definition at line 51 of file angel_types.hpp.
8.1.2.10 typedef vector<edge_vertex_elim_t> angel::edge_vertex_elim_seq_t
sequences of edges as nodes from line graph
Definition at line 256 of file eliminations.hpp.
8.1.2.11 typedef boost::property<boost::edge_weight_t, int>angel::edge_weight_property
Definition at line 49 of file angel_types.hpp.
8.1.2.12 typedef elimination_history_t<line_graph_t, triplet_t>angel::face_elimination_history_t
Face elimination history for LSA usage.
See also:
elimination_history_t
Definition at line 737 of file eliminations.hpp.
8.1.2.13 typedef boost::adjacency_list<boost::vecS, boost::vecS,boost::bidirectionalS, accu_exp_property, boost::no_property>angel::pure_accu_exp_graph_t
Definition at line 642 of file angel_types.hpp.
8.1.2.14 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.
Definition at line 71 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 55
8.1.2.15 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.
Definition at line 249 of file angel_types.hpp.
8.1.2.16 typedef std::map< uint_pair_t, vertex_set_t >angel::refillDependenceMap_t
Definition at line 899 of file angel_types.hpp.
8.1.2.17 typedef std::pair<unsigned int,unsigned int> angel::uint_pair_t
Definition at line 897 of file angel_types.hpp.
8.1.2.18 typedef boost::property<boost::vertex_degree_t, int>angel::vertex_degree_property
Definition at line 243 of file angel_types.hpp.
8.1.2.19 typedef elimination_history_t<c_graph_t, c_graph_t::vertex_t>angel::vertex_elimination_history_t
Vertex elimination history for LSA usage.
See also:
elimination_history_t
Definition at line 729 of file eliminations.hpp.
8.1.2.20 typedef boost::property<boost::vertex_name_t, ad_edge_t,vertex_degree_property> angel::vertex_name_degree_property
Definition at line 244 of file angel_types.hpp.
8.1.2.21 typedef std::set<c_graph_t::vertex_t> angel::vertex_set_t
Definition at line 898 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
56 angel Namespace Documentation
8.1.2.22 typedef boost::property<VertexVisited, bool>angel::vertex_visited_property
Definition at line 63 of file angel_types.hpp.
8.1.3 Enumeration Type Documentation
8.1.3.1 enum angel::Edge_Type_E
Enumerator:
VARIABLE_EDGE
UNIT_EDGE
CONSTANT_EDGE
Definition at line 39 of file angel_types.hpp.
8.1.3.2 enum angel::EdgeRefType_E
Enumerator:
LCG_EDGE
JAE_VERT
UNDEFINED
Definition at line 673 of file angel_types.hpp.
8.1.3.3 enum angel::vertex_type_t
Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.
Enumerator:
independent Independent vertex.
intermediate Non-empty vertex neither independent nor dependent.
dependent Independent vertex.
dead_vertex Empty vertex, should not be dependent or independent.
undefined_vertex Undefined, e.g. out of range.
Definition at line 32 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 57
8.1.4 Function Documentation
8.1.4.1 bool angel::all_viable_transformations (c_graph_t & angelLCG, conststd::vector< Transformation > & transformationsPerformedV, vector<Transformation > & allViableTransformationsV)
Filter that populates allViableTransformationsV with all possible edge elim-inations and all possible reroutings that haven’t already been performed (so-called non-cyclic reroutings).
Definition at line 1742 of file heuristics.cpp.
References eliminatable_edges(), noncyclicReroutings(), and reroutable_edges().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().
Here is the call graph for this function:
angel::all_viable_transformations
angel::eliminatable_edges
angel::noncyclicReroutings
angel::reroutable_edges
angel::edge
angel::reachable
8.1.4.2 template<class Object_t, class Neighbor_t, class Cost_t, classAdaption_t> int angel::ALSA (Object_t & object, Neighbor_t neighbor,Cost_t costs, Adaption_t adaption, double & gamma, int max_iter)[inline]
Adaptive Logarithmic Simulated Annealing in generic form.
Parameters:
object Some state in the configuration space.
neighbor Neighborhood relation applicable to object
costs Cost operator applicable to object
adaption Operator that can change Γgamma Initial Γ in LSA
max_iter Maximal number of iterations
See also:
LSA
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
58 angel Namespace Documentation
ALSA is LSA with the difference that Γ can be changed adaptively. The adaptionoperator records the costs and may change Γ on this base. Another difference to LSAis that Γ is passed by reference (instead of by value) in order to give feedback aboutthe adaption.
Note:
At the moment there are only applications with face_elimination_history_t asObject_t.
Definition at line 43 of file sa_impl.hpp.
References random().
Here is the call graph for this function:
angel::ALSA angel::random
8.1.4.3 template<class Object_t, class Ad_graph_t, class Heuristic_t, classOutput_t> int angel::apply_heuristic (const Ad_graph_t & adg,vector< Object_t > & el_seq, Heuristic_t h, Output_t output)[inline]
Applies heuristic and uses output visitor write costs and graphs for every elimination.
Parameters:
adg c-graph or line graph
el_seq Obtained elimination sequence
h Heuristic or combination of heuristics
output Visitor to where written is
Returns:
Elimination costs
See also:
use_heuristiceliminatable_objectseliminateheuristic_pair_tno_output_tstring_stream_output_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 59
Definition at line 1299 of file heuristics.hpp.
References eliminatable_objects(), and eliminate().
Here is the call graph for this function:
angel::apply_heuristic
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
8.1.4.4 int angel::back_edge_elimination (line_graph_t::edge_t vij,line_graph_t & lg)
Back eliminate edge vij in line graph lg
All faces (∗,i,j) are eliminated
Definition at line 212 of file eliminations.cpp.
References face_elimination().
Here is the call graph for this function:
angel::back_edge_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.5 int angel::back_edge_elimination (int i, int j, line_graph_t & lg)
Back eliminate edge from vertex with number i to vertex number j in line graph lg
All faces (∗,i,j) are eliminated
Definition at line 203 of file eliminations.cpp.
References back_edge_elimination(), and find_edge().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
60 angel Namespace Documentation
Here is the call graph for this function:
angel::back_edge_elimination
angel::back_edge_elimination
angel::find_edge
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.6 int angel::back_edge_elimination (int i, int j, c_graph_t & cg)[inline]
Back elimination of edge from vertex with number i to vertex with number j fromc-graph cg
Returns:
The costs (number of operation)
Definition at line 95 of file eliminations.hpp.
References back_edge_elimination().
Here is the call graph for this function:
angel::back_edge_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.7 int angel::back_edge_elimination (c_graph_t::vertex_t i,c_graph_t::vertex_t j, c_graph_t & cg) [inline]
Back elimination of edge from vertex i to vertex j from c-graph cg
Returns:
The costs (number of operation)
Definition at line 82 of file eliminations.hpp.
References back_edge_elimination(), and edge().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 61
Here is the call graph for this function:
angel::back_edge_elimination
angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.8 int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t & cg)
Back elimination of edge e from c-graph cg
Returns:
The costs (number of operation)
Definition at line 92 of file eliminations.cpp.
References CONSTANT_EDGE, dependent, edge(), independent, angel::c_graph_-t::next_edge_number, UNIT_EDGE, VARIABLE_EDGE, vertex_type(), andangel::c_graph_t::vertex_type().
Referenced by back_edge_elimination(), convert_elimination_sequence(), edge_-elimination(), momr_edge_back(), remove_trivial_edges(), and vertex_elimination().
Here is the call graph for this function:
angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.9 unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t& angelLCG, const elimSeq_cost_t & currentElimSeq,refillDependenceMap_t & refillDependences)
Definition at line 814 of file eliminations.cpp.
References dependent, pair_elim(), and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
62 angel Namespace Documentation
Here is the call graph for this function:
angel::back_elim
angel::pair_elim
angel::vertex_type
angel::edge
8.1.4.10 int angel::back_eliminatable_edges (const c_graph_t & cg,std::vector< c_graph_t::edge_t > & ev)
Definition at line 384 of file eliminations.cpp.
References independent, and vertex_type().
Here is the call graph for this function:
angel::back_eliminatable_edges angel::vertex_type
8.1.4.11 int angel::back_eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)
Returns a set of edges that can be back eliminated from c-graph cg.
8.1.4.12 unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_te, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaif-BoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list)
Back eliminate an edge from an angel c_graph_t but go directly to a xaifBoosterCross-CountryInterface::JacobianAccumulationExpression, rather than the internal angel ac-cumulation graph type.
Parameters:
e the edge that will be back eliminated.
angelLCG the c_graph_t (passed by reference) that the elimination is performedon.
edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.
jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 63
Returns:
The cost (in terms of multiplications) of the elimination.
This function is also aware of unit and constant edges. This entails labeling new edgeswith the appropriate type, as well as determining the cost appropriately.
Definition at line 698 of file eliminations.cpp.
References dependent, multiply_edge_pair_directly(), removeRef(), and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::back_eliminate_edge_directly
angel::multiply_edge_pair_directly
angel::removeRef
angel::vertex_type
angel::edge
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.13 unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_te, c_graph_t & angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence, refillDependenceMap_t &refillDependences)
Definition at line 929 of file eliminations.cpp.
References dependent, pairElim_noJAE(), and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().
Here is the call graph for this function:
angel::backEdgeElimination_noJAE
angel::pairElim_noJAE
angel::vertex_type
angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
64 angel Namespace Documentation
8.1.4.14 template<class Object_t, class Ad_graph_t, class Heuristic1_t, classHeuristic2_t, class Heuristic3_t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t & adg, vector< Object_t> & el_seq, Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3,Heuristic4_t h4, Heuristic5_t h5) [inline]
Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.
Definition at line 84 of file heuristics_impl.hpp.
References use_heuristic().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
Here is the call graph for this function:
angel::best_heuristic angel::use_heuristic
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
8.1.4.15 void angel::block2loop (const c_graph_t & block, int loops, c_graph_t& loop)
Generates a DAG that represents a loop over the block.
Parameters:
block The used block
loops The number of loops
loop The resulting loop DAG
Definition at line 249 of file graph_generator.cpp.
References angel::c_graph_t::clear_graph(), angel::c_graph_t::dependents,independent_vertices_to_front(), angel::c_graph_t::next_edge_number, renumber_-edges(), angel::c_graph_t::v(), angel::c_graph_t::X, angel::c_graph_t::x(), andangel::c_graph_t::y().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 65
Here is the call graph for this function:
angel::block2loop
angel::c_graph_t::clear_graph
angel::c_graph_t::v
angel::independent_vertices_to_front
angel::renumber_edges
angel::c_graph_t::x
angel::c_graph_t::y
angel::reachable_vertices
angel::relevant_vertices
8.1.4.16 size_t angel::block_begin (size_t i, size_t p, size_t n) [inline]
First index in ith of p blocks where overall size is n (indices 0..n-1).
Definition at line 896 of file angel_tools.hpp.
8.1.4.17 int angel::chooseEdgeElimRandomly (std::vector< double > & deltaE)
Definition at line 394 of file angel_tools.cpp.
References ECONST, and gen_prob().
Referenced by xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::chooseEdgeElimRandomly angel::gen_prob
8.1.4.18 int angel::chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)
Definition at line 424 of file angel_tools.cpp.
References ECONST, and gen_prob().
Here is the call graph for this function:
angel::chooseEdgeElimRandomlyGreedy angel::gen_prob
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
66 angel Namespace Documentation
8.1.4.19 unsigned int angel::chooseTarget_sa (std::vector< double > & deltaE)
Randomly chooses an index into the vector deltaE.
Parameters:
deltaE a vector of changes in energy. Normalized probabilities are calculated foreach entry
See also:
gen_prob
Definition at line 348 of file angel_tools.cpp.
References ECONST, and gen_prob().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), and xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random().
Here is the call graph for this function:
angel::chooseTarget_sa angel::gen_prob
8.1.4.20 void angel::close_log_file () [inline]
Definition at line 469 of file angel_io.hpp.
References log_file.
8.1.4.21 template<typename Ad_graph_t> void angel::common_predecessor(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t & adg,typename std::vector< typename Ad_graph_t::vertex_descriptor > &vec) [inline]
Returns set of vertices (in vec) that have common predecessors with v.
Definition at line 263 of file angel_tools.hpp.
References unique_vector().
Here is the call graph for this function:
angel::common_predecessor angel::unique_vector
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 67
8.1.4.22 template<typename Ad_graph_t> void angel::common_successors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t & adg,typename std::vector< typename Ad_graph_t::vertex_descriptor > &vec) [inline]
Returns set of vertices (in vec) that have common successors with v.
Definition at line 231 of file angel_tools.hpp.
References unique_vector().
Here is the call graph for this function:
angel::common_successors angel::unique_vector
8.1.4.23 bool angel::convert_elimination_sequence (const vector<edge_ij_elim_t > & ev, const line_graph_t & lg, vector< triplet_t > &tv)
Converts (mixed) edge elimination sequence into face elimination sequence.
Definition at line 472 of file eliminations.cpp.
References back_edge_elimination(), find_edge(), front_edge_elimination(),THROW_EXCEPT_MACRO, write_graph(), and write_vertex_property().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),and xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
Here is the call graph for this function:
angel::convert_elimination_sequence
angel::back_edge_elimination
angel::find_edge
angel::front_edge_elimination
angel::write_graph
angel::write_vertex_property
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::write_vector
8.1.4.24 bool angel::convert_elimination_sequence (const vector<c_graph_t::vertex_t > & vv, const c_graph_t & cg, vector<edge_ij_elim_t > & ev)
Converts vertex elimination sequence into (mixed) edge elimination sequence.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
68 angel Namespace Documentation
Definition at line 454 of file eliminations.cpp.
References vertex_elimination().
Here is the call graph for this function:
angel::convert_elimination_sequence angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.25 template<typename Ad_graph_t> int angel::count_parallel_edges(typename Ad_graph_t::edge_descriptor e, const Ad_graph_t & g)[inline]
Definition at line 385 of file angel_tools.hpp.
Referenced by markowitz_enlargement_front().
8.1.4.26 template<typename Ad_graph_t> std::pair<typenameAd_graph_t::edge_descriptor, bool> angel::edge(typename Ad_graph_t::vertex_descriptor u, typenameAd_graph_t::vertex_descriptor v, const Ad_graph_t & g) [inline]
Replaces edge function of BGL.
Parameters:
u Source
v Target
g Graph
Returns:
Face (u, v)
Note:
BGL function crashes if u or v is too large for g
Definition at line 388 of file angel_types.hpp.
Referenced by back_edge_elimination(), edge_elim_effect(), edge_elimination(),face_elimination(), fme_obj(), front_edge_elimination(), getEdge(), multiply_-edge_pair_directly(), angel::triplet_heuristic_t< Face_heuristic_t >::operator()(),
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 69
angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::operator()(), oplr_face(),pair_elim(), pairElim_noJAE(), permutate_vertices(), postroute_edge_directly(),postrouteEdge_noJAE(), preroute_edge_directly(), prerouteEdge_noJAE(), read_-graph_eliad(), reducing_reroutings(), remove_parallel_edges(), reroutable_edges(),reroute_effect(), and rme_obj().
8.1.4.27 int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Definition at line 1213 of file heuristics.cpp.
References edge_elim_effect(), angel::EdgeElim::getE(), and an-gel::EdgeElim::isFront().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random().
Here is the call graph for this function:
angel::edge_elim_effect
angel::edge_elim_effect
angel::EdgeElim::getE
angel::EdgeElim::isFront
angel::getEdge angel::edge
8.1.4.28 int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Definition at line 1125 of file heuristics.cpp.
References dependent, edge(), UNIT_EDGE, VARIABLE_EDGE, and vertex_type().
Here is the call graph for this function:
angel::edge_elim_effect
angel::edge
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
70 angel Namespace Documentation
8.1.4.29 int angel::edge_elim_effect (const EdgeElimee, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge eliminationee.
Parameters:
ee edge elimination target under consideration
angelLCG The linearized computational graph
ourAwarenessLevel setting such as unit aware, constant aware, or no awareness
Returns:
net effect on nontrivial edge count
8.1.4.30 int angel::edge_elim_effect (constedge_bool_t be, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge eliminationbe.
Parameters:
be edge elimination target under consideration
angelLCG c-graph
ourAwarenessLevel setting such as unit aware, constant aware, or no awareness
Returns:
net effect on nontrivial edge count
Referenced by edge_elim_effect(), maintaining_edge_eliminations(), reducing_edge_-eliminations(), and transformation_effect().
8.1.4.31 int angel::edge_elimination (const edge_vertex_elim_seq_t & seq,line_graph_t & lg) [inline]
Eliminate sequence seq of edges from line graph lg.
Definition at line 259 of file eliminations.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 71
References edge(), and edge_elimination().
Here is the call graph for this function:
angel::edge_elimination angel::edge
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.32 int angel::edge_elimination (line_graph_t::edge_t vij, bool front,line_graph_t & lg) [inline]
Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.
Definition at line 235 of file eliminations.hpp.
References back_edge_elimination(), and front_edge_elimination().
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.33 int angel::edge_elimination (int i, int j, bool front, line_graph_t & lg)[inline]
Front elimination of edge from vertex i to vertex j from line graph lg iffront=true otherwise back eliminination
Definition at line 229 of file eliminations.hpp.
References back_edge_elimination(), and front_edge_elimination().
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
72 angel Namespace Documentation
8.1.4.34 int angel::edge_elimination (const edge_ij_elim_seq_t & seq, c_graph_t& cg) [inline]
Eliminate sequence seq of edges from c-graph cg
Returns:
The costs (number of operation)
Definition at line 173 of file eliminations.hpp.
References edge_elimination().
Here is the call graph for this function:
angel::edge_elimination angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.35 int angel::edge_elimination (const edge_pair_elim_seq_t & seq,c_graph_t & cg) [inline]
Eliminate sequence seq of edges from c-graph cg
Returns:
The costs (number of operation)
Definition at line 163 of file eliminations.hpp.
References edge_elimination().
Here is the call graph for this function:
angel::edge_elimination angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.36 int angel::edge_elimination (const edge_elim_seq_t & seq, c_graph_t &cg) [inline]
Eliminate sequence seq of edges from c-graph cg
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 73
Returns:
The costs (number of operation)
Definition at line 153 of file eliminations.hpp.
References edge(), and edge_elimination().
Here is the call graph for this function:
angel::edge_elimination angel::edge
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.37 int angel::edge_elimination (edge_ij_elim_t ee, c_graph_t & cg)[inline]
Edge elimination specified by ee.
Definition at line 136 of file eliminations.hpp.
References edge_elimination(), angel::edge_ij_elim_t::front, angel::edge_ij_elim_t::i,and angel::edge_ij_elim_t::j.
Here is the call graph for this function:
angel::edge_elimination angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.38 int angel::edge_elimination (int i, int j, bool front, c_graph_t & cg)[inline]
Front elimination of edge from vertex with number i to vertex with number j fromc-graph cg if front=true otherwise back eliminination
Returns:
The costs (number of operation)
Definition at line 130 of file eliminations.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
74 angel Namespace Documentation
References back_edge_elimination(), and front_edge_elimination().
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.39 int angel::edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_tj, bool front, c_graph_t & cg) [inline]
Front elimination of edge from vertex i to vertex j from c-graph cg if front=trueotherwise back eliminination
Returns:
The costs (number of operation)
Definition at line 119 of file eliminations.hpp.
References back_edge_elimination(), and front_edge_elimination().
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.40 int angel::edge_elimination (edge_bool_t e, c_graph_t & cg)[inline]
Front elimination of edge e.first from c-graph cg if e.second=true otherwiseback eliminination
Returns:
The costs (number of operation)
Definition at line 110 of file eliminations.hpp.
References back_edge_elimination(), and front_edge_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 75
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.41 int angel::edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t& cg) [inline]
Front elimination of edge e from c-graph cg if front=true otherwise back elimin-ination
Returns:
The costs (number of operation)
Definition at line 101 of file eliminations.hpp.
References back_edge_elimination(), and front_edge_elimination().
Referenced by edge_elimination(), and eliminate().
Here is the call graph for this function:
angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.42 void angel::edge_vertex_name (line_graph_t::edge_t e, constline_graph_t & lg, int & i, int & j) [inline]
Vertex pair representation of an edge in line graph.
Parameters:
e Edge from line graph
lg Line graph
i Vertex number of edge source in c-graph (output)
j Vertex number of edge target in c-graph (output)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
76 angel Namespace Documentation
Definition at line 402 of file angel_types.hpp.
Referenced by angel::new_iks_t::operator()(), and angel::new_pik_t::operator()().
8.1.4.43 unsigned int angel::eliminatable_edges (const c_graph_t & cg,std::vector< EdgeElim > & ev)
Definition at line 426 of file eliminations.cpp.
References dependent, independent, and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::eliminatable_edges angel::vertex_type
8.1.4.44 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<edge_ij_elim_t > & ev)
Definition at line 410 of file eliminations.cpp.
References dependent, angel::edge_ij_elim_t::front, independent, and vertex_type().
Here is the call graph for this function:
angel::eliminatable_edges angel::vertex_type
8.1.4.45 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<edge_bool_t > & ev)
Definition at line 395 of file eliminations.cpp.
References dependent, independent, and vertex_type().
Here is the call graph for this function:
angel::eliminatable_edges angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 77
8.1.4.46 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<c_graph_t::edge_t > & ev)
Definition at line 363 of file eliminations.cpp.
8.1.4.47 unsigned int angel::eliminatable_edges (const c_graph_t & cg, vector<EdgeElim > & ev)
Returns a set of edges that can be eliminated from c-graph cg.
8.1.4.48 int angel::eliminatable_edges (const c_graph_t & cg, vector<edge_ij_elim_t > & ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
It copies the edges into a vector and distiguishes which edge can be front, (i.e. (i,j,true))and which can be back-eliminated, i.e. (i,j,true). Edges can appear twice in the vector.
8.1.4.49 int angel::eliminatable_edges (const c_graph_t & cg, vector<edge_bool_t > & ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
It copies the edges into a vector and distiguishes which edge can be front, (i.e.pair(e,true)) and which can be back-eliminated, i.e. pair(e,true). Edges can appeartwice in the vector.
8.1.4.50 int angel::eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)
Returns a set of edges that can be eliminated from c-graph cg.
In fact it only copies the edges into a vector for better treatment.
Referenced by all_viable_transformations(), eliminatable_objects(), and reducing_-transformations().
8.1.4.51 int angel::eliminatable_faces (const line_graph_t & lg, std::vector<line_graph_t::face_t > & fv)
Definition at line 441 of file eliminations.cpp.
References dependent, independent, and vertex_type().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
78 angel Namespace Documentation
Here is the call graph for this function:
angel::eliminatable_faces angel::vertex_type
8.1.4.52 int angel::eliminatable_faces (const line_graph_t & lg, vector<line_graph_t::face_t > & fv)
Returns a set of faces that can be eliminated from line graph lg.
Referenced by eliminatable_objects(), and eliminatable_triplets().
8.1.4.53 int angel::eliminatable_objects (const line_graph_t & lg, vector<triplet_t > & tv) [inline]
Synonym of eliminatable_triplets for usage in templates.
See also:
use_heuristics
Definition at line 562 of file eliminations.hpp.
References eliminatable_triplets().
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_triplets angel::eliminatable_faces
8.1.4.54 int angel::eliminatable_objects (const line_graph_t & lg, vector<line_graph_t::face_t > & fv) [inline]
Synonym of eliminatable_faces for usage in templates.
See also:
use_heuristics
Definition at line 556 of file eliminations.hpp.
References eliminatable_faces().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 79
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_faces
8.1.4.55 int angel::eliminatable_objects (const c_graph_t & cg, vector<edge_ij_elim_t > & ev) [inline]
Synonym of eliminatable_edges for usage in templates.
See also:
use_heuristics
Definition at line 550 of file eliminations.hpp.
References eliminatable_edges().
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_edges
8.1.4.56 int angel::eliminatable_objects (const c_graph_t & cg, vector<edge_bool_t > & ev) [inline]
Synonym of eliminatable_edges for usage in templates.
See also:
use_heuristics
Definition at line 544 of file eliminations.hpp.
References eliminatable_edges().
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_edges
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
80 angel Namespace Documentation
8.1.4.57 int angel::eliminatable_objects (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev) [inline]
Synonym of eliminatable_edges for usage in templates.
See also:
use_heuristics
Definition at line 538 of file eliminations.hpp.
References eliminatable_edges().
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_edges
8.1.4.58 int angel::eliminatable_objects (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv) [inline]
Synonym of eliminatable_vertices for usage in templates.
See also:
use_heuristics
Definition at line 532 of file eliminations.hpp.
References eliminatable_vertices().
Referenced by apply_heuristic(), angel::elimination_history_t< Ad_graph_t,El_spec_t >::complete_sequence(), angel::neighbor_check_meta_t::operator()(),angel::neighbor_sequence_check_t::operator()(), angel::neighbor_multi_step_-t::operator()(), angel::neighbor_last_removable_t::operator()(), use_heuristic(),use_heuristic_debug(), use_heuristic_noconst(), and use_heuristic_trace().
Here is the call graph for this function:
angel::eliminatable_objects angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.59 int angel::eliminatable_triplets (const line_graph_t & lg, vector<triplet_t > & tv) [inline]
Returns a set of eliminatable faces as triplets tv from line graph lg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 81
The first and second value of each triplet gives the face and the third is -1. Thus thereis no more information than eliminatable_faces but vectors of triplets can be used insituations where vectors of faces cannot.
Definition at line 517 of file eliminations.hpp.
References eliminatable_faces().
Referenced by eliminatable_objects().
Here is the call graph for this function:
angel::eliminatable_triplets angel::eliminatable_faces
8.1.4.60 int angel::eliminatable_vertices (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv)
Returns a set of vertices that can be eliminated from c-graph cg.
Definition at line 342 of file eliminations.cpp.
References intermediate, and angel::c_graph_t::vertex_type().
Referenced by eliminatable_objects().
Here is the call graph for this function:
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.61 int angel::eliminate (triplet_t & t, line_graph_t & lg) [inline]
Overloaded elimination for templates, here face elimination in line graph
Returns:
The elimination costs.
Therefore, it can be used in template use_heuristic. Since the inserted/absorbing nodeis overwritten in t it can be used in elimination_history_t too.
Definition at line 452 of file eliminations.hpp.
References face_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
82 angel Namespace Documentation
Here is the call graph for this function:
angel::eliminate angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.62 int angel::eliminate (line_graph_t::face_t f, line_graph_t & lg)[inline]
Overloaded elimination for templates, here face elimination in line graph
Returns:
The costs, not the resulting line graph node.
Therefore, it can be used in template use_heuristic.
Definition at line 440 of file eliminations.hpp.
References face_elimination(), and was_non_trivial_elimination().
Here is the call graph for this function:
angel::eliminate
angel::face_elimination
angel::was_non_trivial_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighbors
angel::same_predecessors
angel::sorted_predecessor_set
angel::same_successors
angel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 83
8.1.4.63 int angel::eliminate (edge_ij_elim_t ee, c_graph_t & cg) [inline]
Overloaded elimination for templates, here vertex elimination in c-graph.
Definition at line 431 of file eliminations.hpp.
References edge_elimination().
Here is the call graph for this function:
angel::eliminate angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.64 int angel::eliminate (edge_bool_t e, c_graph_t & cg) [inline]
Overloaded elimination for templates, here vertex elimination in c-graph.
Definition at line 426 of file eliminations.hpp.
References edge_elimination().
Here is the call graph for this function:
angel::eliminate angel::edge_elimination
angel::back_edge_elimination
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.65 int angel::eliminate (int j, line_graph_t & lg) [inline]
Overloaded elimination for templates, here vertex elimination in line graph.
Definition at line 422 of file eliminations.hpp.
References vertex_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
84 angel Namespace Documentation
Here is the call graph for this function:
angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.66 int angel::eliminate (int j, c_graph_t & cg) [inline]
Overloaded elimination for templates, here vertex elimination in c-graph.
Definition at line 418 of file eliminations.hpp.
References vertex_elimination().
Here is the call graph for this function:
angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.67 int angel::eliminate (c_graph_t::vertex_t v, c_graph_t & cg)[inline]
Overloaded elimination for templates, here vertex elimination in c-graph.
Definition at line 414 of file eliminations.hpp.
References vertex_elimination().
Referenced by apply_heuristic(), angel::elimination_history_t< Ad_graph_t, El_-spec_t >::check_sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(),angel::neighbor_last_removable_t::operator()(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), use_heuristic(), use_heuristic_debug(),use_heuristic_noconst(), and use_heuristic_trace().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 85
Here is the call graph for this function:
angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.68 int angel::face_elimination (triplet_t & t, line_graph_t & lg,accu_graph_t & ac) [inline]
Eliminate face from line graph
Parameters:
t a triplet of node number (i, j, kr), for meaning of kr see parameter lists of otherface elimination functions
lg the line graph
ac is a container for graphs representing the accumulation code
Returns:
Whether a face was eliminated, i.e. the elimination costs.
The third parameter of t is overwritten if the elimination was successful. So the in-formation on both the resulting node and the elimination costs are provided. We foundthat this version is the most convenient for general-purpose usage, e.g. stochastic algo-rithms.
Definition at line 370 of file eliminations.hpp.
References face_elimination(), angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_-t::k.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
86 angel Namespace Documentation
Here is the call graph for this function:
angel::face_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.69 int angel::face_elimination (triplet_t & t, line_graph_t & lg)[inline]
Eliminate face from line graph
Parameters:
t a triplet of node number (i, j, kr), for meaning of kr see parameter lists of otherface elimination functions
lg the line graph
Returns:
Whether a face was eliminated, i.e. the elimination costs.
The third parameter of t is overwritten if the elimination was successful. So the infor-mation on both the resulting node and the elimination costs are provided.
Definition at line 353 of file eliminations.hpp.
References face_elimination(), angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_-t::k.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 87
Here is the call graph for this function:
angel::face_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.70 int angel::face_elimination (int i, int j, int kr, line_graph_t & lg,accu_graph_t & ac) [inline]
Definition at line 338 of file eliminations.hpp.
References edge(), and face_elimination().
Here is the call graph for this function:
angel::face_elimination
angel::edge
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.71 int angel::face_elimination (int i, int j, int kr, line_graph_t & lg)[inline]
Eliminate face from line graph
Parameters:
i node number of the source of the face
j node number of the source of the face
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
88 angel Namespace Documentation
kr is a request for the number of a new node or the number of the node absorbingthe face, i.e. if face elimination inserts a new node into lg it should benumber with kr and if a new node is immediately absorbed by some nodek then it should be k = kr. If the request cannot be satisfied the face is noteliminated. kr = -1 means no request.
lg the line graph
Returns:
The number of node inserted or where the absorption took place.
Definition at line 332 of file eliminations.hpp.
References edge(), and face_elimination().
Here is the call graph for this function:
angel::face_elimination
angel::edge
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.72 int angel::face_elimination (int i, int j, line_graph_t & lg) [inline]
Eliminate face from line graph
Parameters:
i node number of the source of the face
j node number of the source of the face
lg the line graph
Returns:
The number of node inserted or where the absorption took place.
Definition at line 313 of file eliminations.hpp.
References edge(), and face_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 89
Here is the call graph for this function:
angel::face_elimination
angel::edge
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.73 int angel::face_elimination (line_graph_t::face_t f, line_graph_t & lg)[inline]
Eliminate face f from line graph lg
Returns:
The number of node inserted or where the absorption took place.
Definition at line 304 of file eliminations.hpp.
References face_elimination().
Here is the call graph for this function:
angel::face_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.74 int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t& lg) [inline]
Eliminate face f from line graph lg
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
90 angel Namespace Documentation
Parameters:
f the face
kr is a request for the number of a new node or the number of the node absorbingthe face, i.e. if face elimination inserts a new node into lg it should benumber with kr and if a new node is immediately absorbed by some nodek then it should be k = kr. If the request cannot be satisfied the face is noteliminated. kr = -1 means no request.
lg the line graph
Returns:
The number of node inserted or where the absorption took place.
Definition at line 297 of file eliminations.hpp.
References angel::line_graph_t::cgp, and face_elimination().
Here is the call graph for this function:
angel::face_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.75 int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t& lg, accu_graph_t & ac)
Eliminate face f from line graph lg
Parameters:
f the face
kr is a request for the number of a new node or the number of the absorbing theface, i.e. if face elimination inserts a new node into lg it should be numberwith kr and if a new node is immediately absorbed by some node k then itshould be k = kr. If the request cannot be satisfied the face is not eliminated.kr = -1 means no request.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 91
lg the line graph
ac is a container for graphs representing the accumulation code
Returns:
The number of node inserted or where the absorption took place.
Definition at line 230 of file eliminations.cpp.
References angel::accu_graph_t::accu_exp, angel::accu_exp_t::add, angel::line_-graph_t::cons_ok, angel::accu_graph_t::exp_nr, angel::accu_exp_t::mult, remove_-irrelevant_edges(), remove_unreachable_edges(), same_neighbors(), same_-predecessors(), same_successors(), sorted_predecessor_set(), sorted_successor_set(),THROW_DEBUG_EXCEPT_MACRO, and angel::line_graph_t::v().
Referenced by back_edge_elimination(), eliminate(), face_elimination(), front_edge_-elimination(), angel::momrf_op_t::operator()(), and vertex_elimination().
Here is the call graph for this function:
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.76 void angel::face_vertex_name (line_graph_t::face_t f, constline_graph_t & lg, int & i, int & j, int & k) [inline]
Vertex triplet representation of a face.
Parameters:
f face
lg Line graph
i Vertex number of face source in c-graph (output)
j Vertex number of face center in c-graph (output)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
92 angel Namespace Documentation
k Vertex number of face target in c-graph (output)
Definition at line 416 of file angel_types.hpp.
References THROW_DEBUG_EXCEPT_MACRO.
Referenced by fmf_obj(), angel::distf_op_t::operator()(), angel::momrf_op_-t::operator()(), and angel::lmf_op_t::operator()().
8.1.4.77 int angel::fill_in_back (c_graph_t::edge_t e, const c_graph_t & cg)[inline]
Definition at line 631 of file heuristics.cpp.
References new_in_edges().
Referenced by lowest_fill_in_edge_f().
Here is the call graph for this function:
angel::fill_in_back angel::new_in_edges
8.1.4.78 int angel::fill_in_front (c_graph_t::edge_t e, const c_graph_t & cg)[inline]
Definition at line 627 of file heuristics.cpp.
References new_out_edges().
Referenced by lowest_fill_in_edge_f().
Here is the call graph for this function:
angel::fill_in_front angel::new_out_edges
8.1.4.79 template<class Object_t, class Ad_graph_t, class Op_t> intangel::find_best_subset (const vector< Object_t > & v1, constAd_graph_t & adg, vector< Object_t > & v2, Op_t op, bool maximize)[inline]
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
Definition at line 1336 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 93
8.1.4.80 bool angel::find_edge (int s, int t, const line_graph_t & lg, std::vector<line_graph_t::edge_t > & ev) [inline]
Searches an edge in line graph that corresponds to (s,t).
Definition at line 576 of file angel_tools.hpp.
Referenced by back_edge_elimination(), convert_elimination_sequence(), and front_-edge_elimination().
8.1.4.81 double angel::fme_obj (edge_bool_t eb, const c_graph_t & cg)[inline]
Definition at line 467 of file heuristics.cpp.
References edge(), and angel::c_graph_t::x().
Referenced by angel::forward_mode_edge_t::operator()().
Here is the call graph for this function:
angel::fme_obj
angel::edge
angel::c_graph_t::x
8.1.4.82 double angel::fmf_obj (line_graph_t::face_t f, const line_graph_t & lg)[inline]
Definition at line 875 of file heuristics.cpp.
References face_vertex_name(), and angel::line_graph_t::x().
Referenced by angel::reverse_mode_face_t::operator()(), and angel::forward_mode_-face_t::operator()().
Here is the call graph for this function:
angel::fmf_obj
angel::face_vertex_name
angel::line_graph_t::x
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
94 angel Namespace Documentation
8.1.4.83 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_edges (const Ad_graph_t & adg, Op_t & op)[inline]
Applies op to all edges of adg, op can be changed, e.g. for outputs.
Definition at line 119 of file angel_tools.hpp.
8.1.4.84 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_edges (Ad_graph_t & adg, const Op_t & op)[inline]
Applies op to all edges of adg, graph can be changed.
Definition at line 111 of file angel_tools.hpp.
Referenced by write_graph_eliad().
8.1.4.85 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]
Applies op to all in-edges of v, graph can be changed.
Definition at line 127 of file angel_tools.hpp.
8.1.4.86 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_out_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]
Applies op to all out-edges of v, graph can be changed.
Definition at line 136 of file angel_tools.hpp.
8.1.4.87 int angel::forward_mode_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Forward mode in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 95
Returns:
Size of ev2, always 1 (if ev1 is not empty)
Edges in ev1 that cannot be back eliminated are ignored. It is NOT equivalent toforward mode in vertex and face elimination.
Definition at line 316 of file heuristics.hpp.
References forward_mode_edge_f().
Here is the call graph for this function:
angel::forward_mode_edge_back angel::forward_mode_edge_f
angel::inv_lex_less
angel::lex_less
8.1.4.88 int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)
Forward mode in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int forward_mode_-edge (const vector<pair<c_graph_t::edge_t,bool> >& ev1, const c_graph_t& cg,vector<pair<c_graph_t::edge_t,bool> >& ev2).
Definition at line 449 of file heuristics.cpp.
References inv_lex_less(), and lex_less().
Referenced by forward_mode_edge_back(), and forward_mode_edge_front().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
96 angel Namespace Documentation
Here is the call graph for this function:
angel::forward_mode_edge_f
angel::inv_lex_less
angel::lex_less
8.1.4.89 int angel::forward_mode_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Forward mode in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
Edges in ev1 that cannot be front eliminated are ignored. It is equivalent to forwardmode in vertex and face elimination when forward mode is used as sole criterion.
Definition at line 301 of file heuristics.hpp.
References forward_mode_edge_f().
Here is the call graph for this function:
angel::forward_mode_edge_front angel::forward_mode_edge_f
angel::inv_lex_less
angel::lex_less
8.1.4.90 int angel::front_edge_elimination (line_graph_t::edge_t vij,line_graph_t & lg)
Front eliminate edge vij in line graph lg
All faces (i,j,∗) are eliminated
Definition at line 189 of file eliminations.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 97
References face_elimination().
Here is the call graph for this function:
angel::front_edge_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.91 int angel::front_edge_elimination (int i, int j, line_graph_t & lg)
Front eliminate edge from vertex with number i to vertex number j in line graph lg
All faces (i,j,∗) are eliminated
Definition at line 179 of file eliminations.cpp.
References find_edge(), and front_edge_elimination().
Here is the call graph for this function:
angel::front_edge_elimination
angel::find_edge
angel::front_edge_elimination
angel::edge
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.92 int angel::front_edge_elimination (int i, int j, c_graph_t & cg)[inline]
Front elimination of edge from vertex with number i to vertex with number j fromc-graph cg
Returns:
The costs (number of operation)
Definition at line 68 of file eliminations.hpp.
References front_edge_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
98 angel Namespace Documentation
Here is the call graph for this function:
angel::front_edge_elimination angel::front_edge_elimination
angel::edge
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.93 int angel::front_edge_elimination (c_graph_t::vertex_t i,c_graph_t::vertex_t j, c_graph_t & cg) [inline]
Front elimination of edge from vertex i to vertex j from c-graph cg
Returns:
The costs (number of operation)
Definition at line 54 of file eliminations.hpp.
References edge(), and front_edge_elimination().
Here is the call graph for this function:
angel::front_edge_elimination
angel::edge
angel::front_edge_elimination angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.94 int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)
Front elimination of edge e from c-graph cg
Returns:
The costs (number of operation)
Definition at line 38 of file eliminations.cpp.
References CONSTANT_EDGE, dependent, edge(), angel::c_graph_t::next_edge_-number, UNIT_EDGE, VARIABLE_EDGE, and angel::c_graph_t::vertex_type().
Referenced by convert_elimination_sequence(), edge_elimination(), front_edge_-elimination(), momr_edge_front(), and remove_trivial_edges().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 99
Here is the call graph for this function:
angel::front_edge_elimination
angel::edge
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.95 unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t& angelLCG, const elimSeq_cost_t & currentElimSeq,refillDependenceMap_t & refillDependences)
Definition at line 786 of file eliminations.cpp.
References pair_elim().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::front_elim angel::pair_elim angel::edge
8.1.4.96 int angel::front_eliminatable_edges (const c_graph_t & cg,std::vector< c_graph_t::edge_t > & ev)
Definition at line 373 of file eliminations.cpp.
References dependent, and vertex_type().
Here is the call graph for this function:
angel::front_eliminatable_edges angel::vertex_type
8.1.4.97 int angel::front_eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)
Returns a set of edges that can be front eliminated from c-graph cg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
100 angel Namespace Documentation
8.1.4.98 unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_te, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaif-BoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list)
Front eliminate an edge from an angel c_graph_t but go directly to a xaifBoosterCross-CountryInterface::JacobianAccumulationExpression, rather than the internal angel ac-cumulation graph type.
Parameters:
e the edge that will be front eliminated.
angelLCG the c_graph_t (passed by reference) that the elimination is performedon.
edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.
jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.
Returns:
The cost (in terms of multiplications) of the elimination.
This function is also aware of unit and constant edges. This entails labeling new edgeswith the appropriate type, as well as determining the cost appropriately.
Definition at line 665 of file eliminations.cpp.
References multiply_edge_pair_directly(), and removeRef().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::front_eliminate_edge_directly
angel::multiply_edge_pair_directly
angel::removeRef
angel::edge
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 101
8.1.4.99 unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_te, c_graph_t & angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence, refillDependenceMap_t &refillDependences)
Definition at line 901 of file eliminations.cpp.
References pairElim_noJAE().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().
Here is the call graph for this function:
angel::frontEdgeElimination_noJAE angel::pairElim_noJAE angel::edge
8.1.4.100 template<class Object_t, class Neighbor_t, class Cost_t> intangel::FTSA (Object_t & object, Neighbor_t neighbor, Cost_t costs,double t, int max_iter) [inline]
Metropolis with fixed temperature in a general form.
Parameters:
object Some state in the configuration space.
neighbor Neighborhood relation applicable to object
costs Cost operator applicable to object
t temperature
max_iter Maximal number of iterations
Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned.
Note:
At the moment there are only applications with face_elimination_history_t asObject_t.
Definition at line 117 of file sa.hpp.
References SA().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
102 angel Namespace Documentation
Here is the call graph for this function:
angel::FTSA angel::SA
angel::random
angel::SA_acceptance
8.1.4.101 double angel::gen_prob ()
Returns a random number between zero and one.
See also:
chooseTarget_sa
Definition at line 341 of file angel_tools.cpp.
Referenced by chooseEdgeElimRandomly(), chooseEdgeElimRandomlyGreedy(), andchooseTarget_sa().
8.1.4.102 c_graph_t::edge_t angel::getEdge (unsigned int i, unsigned int j, constc_graph_t & angelLCG)
Returns the edge in angelLCG that has source i and target j.
Definition at line 60 of file angel_tools.cpp.
References edge(), and THROW_EXCEPT_MACRO.
Referenced by angel::EdgeElim::getBool(), angel::Rerouting::getE(), an-gel::EdgeElim::getE(), and angel::Rerouting::getPivotE().
Here is the call graph for this function:
angel::getEdge angel::edge
8.1.4.103 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex∗ angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, const list< EdgeRef_t > & edge_ref_list)
Definition at line 564 of file eliminations.cpp.
References THROW_EXCEPT_MACRO.
Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 103
8.1.4.104 const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphEdge ∗ angel::getLCG_p (constc_graph_t::edge_t e, const c_graph_t & angelLCG, const list<EdgeRef_t > & edge_ref_list)
Definition at line 551 of file eliminations.cpp.
References THROW_EXCEPT_MACRO.
Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().
8.1.4.105 EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, constc_graph_t & angelLCG, const list< EdgeRef_t > & edge_ref_list)
Definition at line 540 of file eliminations.cpp.
References THROW_EXCEPT_MACRO, and UNDEFINED.
Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().
8.1.4.106 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.
Parameters:
cg c-graphvni Number of all incoming paths for each vertexvli Overall path length of all incoming paths for each vertexvno Number of all outgoing paths for each vertexvlo Overall path length of all outgoing paths for each vertex
Note:
Function is not implemented for line graphs because there is no application (now).
Definition at line 95 of file angel_tools.cpp.
References angel::c_graph_t::x().
Referenced by moplr_edge(), and angel::oplrv_op_t::oplrv_op_t().
Here is the call graph for this function:
angel::in_out_path_lengths angel::c_graph_t::x
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
104 angel Namespace Documentation
8.1.4.107 void angel::independent_vertices_to_front (const c_graph_t & gin,const vector< c_graph_t::vertex_t > & indeps, c_graph_t & gout)
Definition at line 226 of file angel_tools.cpp.
References permutate_vertices(), THROW_EXCEPT_MACRO, angel::c_graph_t::v(),and angel::c_graph_t::x().
Here is the call graph for this function:
angel::independent_vertices_to_front
angel::permutate_vertices
angel::c_graph_t::v
angel::c_graph_t::x
8.1.4.108 void angel::independent_vertices_to_front (const c_graph_t & gin,const std::vector< c_graph_t::vertex_t > & indeps, c_graph_t &gout)
Independent vertices, given by indeps, becomes first vertices in gout.
Referenced by block2loop(), and read_graph_eliad().
8.1.4.109 bool angel::inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_te2, const c_graph_t & cg) [inline]
Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.
Definition at line 425 of file angel_tools.hpp.
Referenced by reverse_mode_edge_f().
8.1.4.110 bool angel::inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]
Returns whether e1 is lexicographically less than e2 w.r.t. target and source.
Definition at line 434 of file angel_tools.hpp.
Referenced by forward_mode_edge_f().
8.1.4.111 bool angel::is_bipartite (const c_graph_t & cg) [inline]
Tests if cg is bi-partite.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 105
Definition at line 591 of file angel_tools.hpp.
References dependent, independent, and vertex_type().
Here is the call graph for this function:
angel::is_bipartite angel::vertex_type
8.1.4.112 bool angel::is_tripartite (const line_graph_t & lg) [inline]
Tests if lg is tri-partite.
Definition at line 601 of file angel_tools.hpp.
References dependent, independent, and vertex_type().
Here is the call graph for this function:
angel::is_tripartite angel::vertex_type
8.1.4.113 bool angel::lex_greater (edge_bool_t eb1, edge_bool_t eb2, constc_graph_t & cg) [inline]
Definition at line 442 of file angel_tools.hpp.
8.1.4.114 bool angel::lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]
Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.
Definition at line 405 of file angel_tools.hpp.
Referenced by angel::reverse_mode_edge_t::operator()(), and reverse_mode_edge_-f().
8.1.4.115 bool angel::lex_less (edge_bool_t eb1, edge_bool_t eb2, constc_graph_t & cg) [inline]
Definition at line 460 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
106 angel Namespace Documentation
8.1.4.116 bool angel::lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]
Returns whether e1 is lexicographically less than e2 w.r.t. source and target.
Definition at line 415 of file angel_tools.hpp.
Referenced by forward_mode_edge_f(), and angel::forward_mode_edge_-t::operator()().
8.1.4.117 bool angel::lex_less_face (line_graph_t::face_t e1,line_graph_t::face_t e2, const line_graph_t & lg)
Definition at line 70 of file angel_tools.cpp.
References write_graph(), and write_vertex_property().
Referenced by angel::reverse_mode_face_t::operator()(), angel::forward_mode_face_-t::operator()(), angel::not_lex_less_face_line_t::operator()(), and angel::lex_less_-face_line_t::operator()().
Here is the call graph for this function:
angel::lex_less_face
angel::write_graph
angel::write_vertex_property
angel::write_vector
8.1.4.118 int angel::lmmd_edge_back (c_graph_t::edge_t e, double w, constc_graph_t & cg) [inline]
Definition at line 674 of file heuristics.cpp.
References markowitz_enlargement_back(), and sum_over_all_in_edges().
Referenced by angel::lmmde_op_t::operator()().
Here is the call graph for this function:
angel::lmmd_edge_back
angel::markowitz_enlargement_back
angel::sum_over_all_in_edges
angel::new_in_edges
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 107
8.1.4.119 int angel::lmmd_edge_front (c_graph_t::edge_t e, double w, constc_graph_t & cg) [inline]
Definition at line 666 of file heuristics.cpp.
References markowitz_enlargement_front(), and sum_over_all_out_edges().
Referenced by angel::lmmde_op_t::operator()().
Here is the call graph for this function:
angel::lmmd_edge_front
angel::markowitz_enlargement_front
angel::sum_over_all_out_edges
angel::new_out_edges
angel::vertex_type
8.1.4.120 int angel::lowest_fill_in_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Lowest fill-in in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with lowest fill-in
Returns:
Size of ev2
Edges in ev1 that cannot be back eliminated are ignored.
Definition at line 625 of file heuristics.hpp.
References lowest_fill_in_edge_f().
Here is the call graph for this function:
angel::lowest_fill_in_edge_back angel::lowest_fill_in_edge_f
angel::fill_in_back
angel::fill_in_front
angel::new_in_edges
angel::new_out_edges
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
108 angel Namespace Documentation
8.1.4.121 int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)
Lowest Fill-in in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges with lowest fill-in
Returns:
Size of ev2
This function is intended for elimination sequences that are either completely front orcompletely back eliminations. For mixed sequences use Note that fill-in by an edge’selimination can be different for front and back elimination.
Definition at line 636 of file heuristics.cpp.
References fill_in_back(), and fill_in_front().
Referenced by lowest_fill_in_edge_back(), and lowest_fill_in_edge_front().
Here is the call graph for this function:
angel::lowest_fill_in_edge_f
angel::fill_in_back
angel::fill_in_front
angel::new_in_edges
angel::new_out_edges
8.1.4.122 int angel::lowest_fill_in_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Lowest fill-in in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with lowest fill-in
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 109
Returns:
Size of ev2
Edges in ev1 that cannot be front eliminated are ignored.
Definition at line 611 of file heuristics.hpp.
References lowest_fill_in_edge_f().
Here is the call graph for this function:
angel::lowest_fill_in_edge_front angel::lowest_fill_in_edge_f
angel::fill_in_back
angel::fill_in_front
angel::new_in_edges
angel::new_out_edges
8.1.4.123 int angel::lowest_markowitz_edge_back (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]
Lowest Markowitz in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with lowest Markowitz degree
Returns:
Size of ev2
Edges in ev1 that cannot be back eliminated are ignored.
Definition at line 477 of file heuristics.hpp.
References lowest_markowitz_edge_f().
Here is the call graph for this function:
angel::lowest_markowitz_edge_back angel::lowest_markowitz_edge_f
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
110 angel Namespace Documentation
8.1.4.124 int angel::lowest_markowitz_edge_f (const vector<c_graph_t::edge_t > & ev1, bool front, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2)
Lowest Markowitz in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges with lowest Markowitz degree
Returns:
Size of ev2
This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int lowest_markowitz_-edge (const vector<edge_bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_-t>& ev2). Note that Markowitz degree of an edge can be different for front and backelimination.
Definition at line 554 of file heuristics.cpp.
Referenced by lowest_markowitz_edge_back(), and lowest_markowitz_edge_front().
8.1.4.125 int angel::lowest_markowitz_edge_front (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]
Lowest Markowitz in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with lowest Markowitz degree
Returns:
Size of ev2
Edges in ev1 that cannot be front eliminated are ignored.
Definition at line 462 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 111
References lowest_markowitz_edge_f().
Here is the call graph for this function:
angel::lowest_markowitz_edge_front angel::lowest_markowitz_edge_f
8.1.4.126 bool angel::lowest_markowitz_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, vector<Transformation > & lowestMarkowitzTransformationsV)
Filter that populates /p lowestMarkowitzTransformationsV with those edge elimina-tions that have the lowest markowitz degree. Any reroutings are passed straightthrough.
Definition at line 1923 of file heuristics.cpp.
References lowestMarkowitzEdgeElim().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::lowest_markowitz_transformations angel::lowestMarkowitzEdgeElim
8.1.4.127 int angel::lowest_relative_markowitz_edge_back (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]
Lowest relative Markowitz in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with lowest relative Markowitz degree
Returns:
Size of ev2
Edges in ev1 that cannot be back eliminated are ignored.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
112 angel Namespace Documentation
Definition at line 552 of file heuristics.hpp.
References lowest_relative_markowitz_edge_f().
Here is the call graph for this function:
angel::lowest_relative_markowitz_edge_back angel::lowest_relative_markowitz_edge_f
8.1.4.128 int angel::lowest_relative_markowitz_edge_f (const vector<c_graph_t::edge_t > & ev1, bool front, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2)
Lowest relative Markowitz in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges with lowest relative Markowitz degree
Returns:
Size of ev2
This function is intended for elimination sequences that are either completelyfront or completely back eliminations. For mixed sequences use int lowest_-relative_markowitz_edge (const vector<edge_bool_t>& ev1, const c_graph_t& cg,vector<edge_bool_t>& ev2). Note that the relative Markowitz degree of an edge canbe different for front and back elimination.
Definition at line 596 of file heuristics.cpp.
Referenced by lowest_relative_markowitz_edge_back(), and lowest_relative_-markowitz_edge_front().
8.1.4.129 int angel::lowest_relative_markowitz_edge_front (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]
Lowest relative Markowitz in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 113
cg c-graphev2 Result vector of edges with lowest relative Markowitz degree
Returns:
Size of ev2
Edges in ev1 that cannot be front eliminated are ignored.
Definition at line 538 of file heuristics.hpp.
References lowest_relative_markowitz_edge_f().
Here is the call graph for this function:
angel::lowest_relative_markowitz_edge_front angel::lowest_relative_markowitz_edge_f
8.1.4.130 unsigned int angel::lowestMarkowitzEdgeElim (const vector<EdgeElim > & inEEV, const c_graph_t & angelLCG, vector<EdgeElim > & outEEV)
Definition at line 1373 of file heuristics.cpp.
References lowest_markowitz_edge.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and lowest_markowitz_transformations().
8.1.4.131 template<class Object_t, class Neighbor_t, class Cost_t> intangel::LSA (Object_t & object, Neighbor_t neighbor, Cost_t costs,double gamma, int max_iter) [inline]
Logarithmic Simulated Annealing in a general form.
Parameters:
object Some state in the configuration space.neighbor Neighborhood relation applicable to objectcosts Cost operator applicable to objectgamma Γ in LSAmax_iter Maximal number of iterations
Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
114 angel Namespace Documentation
Note:
At the moment there are only applications with face_elimination_history_t asObject_t.
Definition at line 98 of file sa.hpp.
References SA().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), and xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_vertex().
Here is the call graph for this function:
angel::LSA angel::SA
angel::random
angel::SA_acceptance
8.1.4.132 bool angel::maintaining_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<EdgeElim > & bev2)
Definition at line 1219 of file heuristics.cpp.
References edge_elim_effect().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
Here is the call graph for this function:
angel::maintaining_edge_eliminations angel::edge_elim_effect
8.1.4.133 bool angel::maintaining_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > & bev2)
Filter that selects edge elimination targets that don’t increase the nontrivial edge count.
Parameters:
bev1 set of edges that can be eliminated
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 115
angelLCG c-graph
ourAwarenessLevel needed to assess costs of eliminations
bev2 set of edge elims that don’t increase the nontrivial edge count
Returns:
size of bev2
Referenced by maintaining_transformations().
8.1.4.134 bool angel::maintaining_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Transformation > & maintainingTransformationsV)
Definition at line 1765 of file heuristics.cpp.
References maintaining_edge_eliminations().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::maintaining_transformations angel::maintaining_edge_eliminations
8.1.4.135 bool angel::maintaining_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &maintainingTransformationsV)
Filter that populates /p maintainingTransformationsV with those edge eliminations andreroutings that maintain the nontrivial edge count (in particular, this includes all rerout-ings).
8.1.4.136 int angel::markowitz_degree (int j, const line_graph_t & lg)
Markowitz.
Parameters:
j Vertex number in c-graph
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
116 angel Namespace Documentation
lg Line graph
Returns:
j’s Markowitz degree, i.e. number of faces like (∗, j, ∗)
Definition at line 377 of file angel_types.cpp.
References dependent, independent, THROW_DEBUG_EXCEPT_MACRO, andangel::line_graph_t::vertex_type().
Here is the call graph for this function:
angel::markowitz_degree angel::line_graph_t::vertex_type angel::line_graph_t::v
8.1.4.137 int angel::markowitz_enlargement_all_neighbors(c_graph_t::vertex_t v, const c_graph_t & cg)
Definition at line 270 of file heuristics.cpp.
References markowitz_enlargement_back(), and markowitz_enlargement_front().
Referenced by angel::momrv_op_t::operator()(), and angel::lmmdv_op_t::operator()().
Here is the call graph for this function:
angel::markowitz_enlargement_all_neighbors
angel::markowitz_enlargement_back
angel::markowitz_enlargement_front
angel::new_in_edges
angel::new_out_edges
angel::vertex_type
8.1.4.138 int angel::markowitz_enlargement_back (c_graph_t::edge_t e,c_graph_t::edge_t e2, const c_graph_t & cg)
Definition at line 247 of file heuristics.cpp.
References THROW_DEBUG_EXCEPT_MACRO.
8.1.4.139 int angel::markowitz_enlargement_back (c_graph_t::edge_t e, constc_graph_t & cg, bool eliminate_parallel_edges = false)
Definition at line 232 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 117
References new_in_edges().
Referenced by lmmd_edge_back(), markowitz_enlargement_all_neighbors(), momr_-edge_back(), and angel::markowitz_enlargement_back_t::operator()().
Here is the call graph for this function:
angel::markowitz_enlargement_back angel::new_in_edges
8.1.4.140 int angel::markowitz_enlargement_front (c_graph_t::edge_t e,c_graph_t::edge_t e2, const c_graph_t & cg)
Definition at line 206 of file heuristics.cpp.
References count_parallel_edges(), and THROW_DEBUG_EXCEPT_MACRO.
Here is the call graph for this function:
angel::markowitz_enlargement_front angel::count_parallel_edges
8.1.4.141 int angel::markowitz_enlargement_front (c_graph_t::edge_t e, constc_graph_t & cg, bool eliminate_parallel_edges = false)
Definition at line 191 of file heuristics.cpp.
References intermediate, new_out_edges(), and vertex_type().
Referenced by lmmd_edge_front(), markowitz_enlargement_all_neighbors(), momr_-edge_front(), and angel::markowitz_enlargement_front_t::operator()().
Here is the call graph for this function:
angel::markowitz_enlargement_front
angel::new_out_edges
angel::vertex_type
8.1.4.142 void angel::markowitz_on_line_graph (const line_graph_t & lg,vector< int > & mdegree)
Definition at line 944 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
118 angel Namespace Documentation
Referenced by angel::lmf_op_t::lmf_op_t(), and angel::lowest_markowitz_face_-complete_t< Heuristic_t >::operator()().
8.1.4.143 template<typename Neighbor_t> int angel::maximal_paths(c_graph_t::vertex_t v, const Neighbor_t & nin, std::vector<std::vector< c_graph_t::vertex_t > > & paths) [inline]
Referenced by minimal_in_out_degree().
8.1.4.144 template<typename Neighbor_t> int angel::minimal_in_out_degree(c_graph_t::vertex_t v, const Neighbor_t & nin) [inline]
Definition at line 695 of file angel_tools.hpp.
References maximal_paths().
Referenced by minimal_markowitz_degree().
Here is the call graph for this function:
angel::minimal_in_out_degree angel::maximal_paths
8.1.4.145 void angel::minimal_markowitz_degree (const c_graph_t & cg,std::vector< int > & v) [inline]
Minimal Markowitz degree for each vertex.
Definition at line 701 of file angel_tools.hpp.
References intermediate, minimal_in_out_degree(), angel::c_graph_t::v(), andvertex_type().
Referenced by overall_minimal_markowitz_degree().
Here is the call graph for this function:
angel::minimal_markowitz_degree
angel::minimal_in_out_degree
angel::c_graph_t::v
angel::vertex_type
angel::maximal_paths
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 119
8.1.4.146 int angel::momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg) [inline]
Definition at line 729 of file heuristics.cpp.
References back_edge_elimination(), markowitz_enlargement_back(), sum_over_-all_in_edges(), and THROW_DEBUG_EXCEPT_MACRO.
Here is the call graph for this function:
angel::momr_edge_back
angel::back_edge_elimination
angel::markowitz_enlargement_back
angel::sum_over_all_in_edges
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::new_in_edges
8.1.4.147 int angel::momr_edge_back (const vector< c_graph_t::edge_t >& ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Maximal overall Markowitz reduction in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminatedcg c-graphev2 Result vector of edges with maximal overall Markowitz reduction
Returns:
Size of ev2
Edges in ev1 that cannot be back eliminated are ignored.
Definition at line 712 of file heuristics.hpp.
References momr_edge_f().
Referenced by angel::momre_op_t::operator()().
Here is the call graph for this function:
angel::momr_edge_back angel::momr_edge_f
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
120 angel Namespace Documentation
8.1.4.148 int angel::momr_edge_f (const vector< c_graph_t::edge_t > & ev1,bool front, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)
Maximal overall Markowitz reduction in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges with maximal overall Markowitz reduction
Returns:
Size of ev2
This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int momr_edge (constvector<edge_bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2).Note that Markowitz degree reduction due to edge elimination can be different forfront and back elimination.
Definition at line 782 of file heuristics.cpp.
Referenced by momr_edge_back(), and momr_edge_front().
8.1.4.149 int angel::momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg) [inline]
Definition at line 702 of file heuristics.cpp.
References front_edge_elimination(), markowitz_enlargement_front(), overall_-markowitz_degree(), sum_over_all_out_edges(), and THROW_DEBUG_EXCEPT_-MACRO.
Here is the call graph for this function:
angel::momr_edge_front
angel::front_edge_elimination
angel::markowitz_enlargement_front
angel::overall_markowitz_degree
angel::sum_over_all_out_edges
angel::edge
angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::new_out_edges
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 121
8.1.4.150 int angel::momr_edge_front (const vector< c_graph_t::edge_t >& ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Maximal overall Markowitz reduction in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges with maximal overall Markowitz reduction
Returns:
Size of ev2
Edges in ev1 that cannot be front eliminated are ignored.
Definition at line 698 of file heuristics.hpp.
References momr_edge_f().
Referenced by angel::momre_op_t::operator()().
Here is the call graph for this function:
angel::momr_edge_front angel::momr_edge_f
8.1.4.151 int angel::moplr_edge (const vector< c_graph_t::edge_t > & ev1,bool front, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)
Maximal overall path length reduction in mixed edge elimination.
Parameters:
ev1 Set of edges that can be eliminated and how
front indicates if the edge is to be front eliminated
cg c-graph
ev2 Result vector of edges with maximal path length reduction
Returns:
Size of ev2
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
122 angel Namespace Documentation
Definition at line 841 of file heuristics.cpp.
References in_out_path_lengths(), oplr_edge_back(), and oplr_edge_front().
Here is the call graph for this function:
angel::moplr_edge
angel::in_out_path_lengths
angel::oplr_edge_back
angel::oplr_edge_front
angel::c_graph_t::x
angel::oplr_face angel::edge
8.1.4.152 unsigned int angel::multiply_edge_pair_directly (constc_graph_t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t& angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionList &jae_list)
Multiply a contiguous pair of edges in an angel c_graph_t and create a new xaifBoost-erCrossCountryInterface::JacobianAccumulationExpression.
Parameters:
e1 the first edge.
e2 the second edge (its source is the target of e1).
angelLCG the c_graph_t (passed by reference) that the operation is performed on.
edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.
jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.
Returns:
The cost (in terms of multiplications) of the elimination.
If there’s fill-in, a new edge is created and a new edge reference points it to the newJAE. If there’s absorption, the existing edge has its reference updated to point to thenew JAE.
Definition at line 607 of file eliminations.cpp.
References CONSTANT_EDGE, edge(), angel::c_graph_t::next_edge_number, re-moveRef(), setJaevRef(), UNIT_EDGE, and VARIABLE_EDGE.
Referenced by back_eliminate_edge_directly(), and front_eliminate_edge_directly().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 123
Here is the call graph for this function:
angel::multiply_edge_pair_directly
angel::edge
angel::removeRef
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.153 void angel::neighbor_swap (const std::vector< int > & old_seq,std::vector< int > & seq)
Swap two vertices in sequence (historical, only vertex elimination).
Definition at line 16 of file sa.cpp.
References THROW_DEBUG_EXCEPT_MACRO.
8.1.4.154 int angel::new_in_edges (c_graph_t::edge_t e, const c_graph_t & cg)
Definition at line 109 of file heuristics.cpp.
Referenced by fill_in_back(), and markowitz_enlargement_back().
8.1.4.155 int angel::new_out_edges (c_graph_t::edge_t e, const c_graph_t & cg)
Definition at line 135 of file heuristics.cpp.
Referenced by fill_in_front(), markowitz_enlargement_front(), and angel::fiv_op_-t::operator()().
8.1.4.156 size_t angel::noncyclicReroutings (const vector< Rerouting > & erv,const std::vector< Transformation > & transformationsPerformedV,const c_graph_t & angelLCG, vector< Rerouting > &noncyclicReroutingsV)
Filter that populates noncyclicReroutingsV with (strictly) those reroutings thathave not already been performed, based on transformationsPerformedV
Definition at line 1417 of file heuristics.cpp.
Referenced by all_viable_transformations().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
124 angel Namespace Documentation
8.1.4.157 unsigned int angel::num_nontrivial_edges (const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Definition at line 223 of file xaif_interface.cpp.
References UNIT_EDGE, and VARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and replay_transformation_seq().
8.1.4.158 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.
Definition at line 137 of file angel_tools.cpp.
References angel::c_graph_t::dependents.
Referenced by angel::lrm_op_t::lrm_op_t().
8.1.4.159 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.
Definition at line 163 of file angel_tools.cpp.
References angel::c_graph_t::x().
Referenced by angel::lrm_op_t::lrm_op_t().
Here is the call graph for this function:
angel::number_independent_vertices angel::c_graph_t::x
8.1.4.160 string angel::numbered_filename (const string & basename, conststring & suffix, int number, int width = 4)
Definition at line 111 of file angel_io.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 125
8.1.4.161 unsigned int angel::numIntermediateVertices (const c_graph_t &angelLCG)
Definition at line 237 of file xaif_interface.cpp.
References intermediate, and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::numIntermediateVertices angel::vertex_type
8.1.4.162 unsigned int angel::numIntermediateVerticesWithoutUnitEdge (constc_graph_t & angelLCG)
Definition at line 245 of file xaif_interface.cpp.
References intermediate, UNIT_EDGE, and vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::numIntermediateVerticesWithoutUnitEdge angel::vertex_type
8.1.4.163 void angel::open_log_file (int & argc, char ∗∗& argv) [inline]
Definition at line 458 of file angel_io.hpp.
References log_file.
8.1.4.164 bool angel::operator!= (const line_graph_t & g1, const line_graph_t& g2) [inline]
Compares two line graphs.
Definition at line 429 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
126 angel Namespace Documentation
8.1.4.165 bool angel::operator!= (const c_graph_t & g1, const c_graph_t & g2)[inline]
Compares two c-graphs.
Definition at line 221 of file angel_types.hpp.
8.1.4.166 std::ostream& angel::operator<< (std::ostream & stream, constaccu_exp_t & exp) [inline]
Definition at line 630 of file angel_types.hpp.
References angel::accu_exp_t::add, angel::accu_exp_t::exp, angel::accu_exp_t::isop,angel::accu_exp_t::lgn, angel::accu_exp_t::nothing, angel::accu_exp_t::ref, andangel::accu_exp_t::ref_kind.
8.1.4.167 std::ostream& angel::operator<< (std::ostream & stream, constedge_ij_elim_t & ee) [inline]
Output operator of edge_ij_elim_t.
Definition at line 593 of file angel_types.hpp.
References angel::edge_ij_elim_t::front, angel::edge_ij_elim_t::i, and angel::edge_ij_-elim_t::j.
8.1.4.168 std::ostream& angel::operator<< (std::ostream & stream, constedge_pair_elim_t & ee) [inline]
Output operator of edge_pair_elim_t.
Definition at line 580 of file angel_types.hpp.
References angel::edge_pair_elim_t::front, angel::edge_pair_elim_t::i, andangel::edge_pair_elim_t::j.
8.1.4.169 std::ostream& angel::operator<< (std::ostream & stream, consttriplet_t & t) [inline]
Output operator of triplet_t.
Definition at line 455 of file angel_types.hpp.
References angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_t::k.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 127
8.1.4.170 template<class Value_t> string_stream_output_t&angel::operator<< (string_stream_output_t & out, const Value_t &value) [inline]
Definition at line 503 of file angel_io.hpp.
References angel::string_stream_output_t::mystream.
8.1.4.171 template<class Value_t> no_output_t& angel::operator<<(no_output_t & out, const Value_t &) [inline]
Definition at line 485 of file angel_io.hpp.
8.1.4.172 template<typename T1, typename T2> ostream&angel::operator<< (ostream & stream, const std::pair< T1, T2 > &p) [inline]
Write pair of arbitrary types to stream if their output operator is defined.
Definition at line 73 of file angel_io.hpp.
8.1.4.173 bool angel::operator== (const line_graph_t & g1, const line_graph_t& g2)
Compares two line graphs.
Definition at line 320 of file angel_types.cpp.
References angel::line_graph_t::dependents, angel::line_graph_t::v(), angel::line_-graph_t::x(), angel::line_graph_t::y(), and angel::line_graph_t::z().
Here is the call graph for this function:
angel::operator==
angel::line_graph_t::v
angel::line_graph_t::x
angel::line_graph_t::y
angel::line_graph_t::z
8.1.4.174 bool angel::operator== (const c_graph_t & g1, const c_graph_t & g2)
Compares two c-graphs.
Definition at line 112 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
128 angel Namespace Documentation
References angel::c_graph_t::dependents, angel::c_graph_t::v(), angel::c_graph_t::x(),angel::c_graph_t::y(), and angel::c_graph_t::z().
Here is the call graph for this function:
angel::operator==
angel::c_graph_t::v
angel::c_graph_t::x
angel::c_graph_t::y
angel::c_graph_t::z
8.1.4.175 int angel::oplr_edge_back (c_graph_t::edge_t e, const vector< int >& vni, const vector< int > & vli, const vector< int > & vno, constvector< int > & vlo, const c_graph_t & cg)
Definition at line 404 of file heuristics.cpp.
References oplr_face().
Referenced by moplr_edge().
Here is the call graph for this function:
angel::oplr_edge_back angel::oplr_face angel::edge
8.1.4.176 int angel::oplr_edge_front (c_graph_t::edge_t e, const vector< int >& vni, const vector< int > & vli, const vector< int > & vno, constvector< int > & vlo, const c_graph_t & cg)
Definition at line 389 of file heuristics.cpp.
References oplr_face().
Referenced by moplr_edge(), and angel::oplrv_op_t::operator()().
Here is the call graph for this function:
angel::oplr_edge_front angel::oplr_face angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 129
8.1.4.177 int angel::oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const vector< int > & vni, const vector< int > & vli, const vector<int > & vno, const vector< int > & vlo, const c_graph_t & cg)[inline]
Definition at line 370 of file heuristics.cpp.
References edge(), and THROW_DEBUG_EXCEPT_MACRO.
Referenced by oplr_edge_back(), and oplr_edge_front().
Here is the call graph for this function:
angel::oplr_face angel::edge
8.1.4.178 void angel::ourLCG_to_angelLCG (constLinearizedComputationalGraph & ourLCG, vector< constLinearizedComputationalGraphVertex ∗ > & ourLCG_verts,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list)
Definition at line 264 of file xaif_interface.cpp.
References CONSTANT_EDGE, angel::c_graph_t::dependents, THROW_EXCEPT_-MACRO, UNIT_EDGE, VARIABLE_EDGE, which_index(), write_graph(), andangel::c_graph_t::x().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::ourLCG_to_angelLCG
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::write_vector
8.1.4.179 int angel::overall_markowitz_degree (const line_graph_t & lg)
Markowitz degree of all vertices.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
130 angel Namespace Documentation
Definition at line 366 of file angel_types.cpp.
References dependent, independent, and angel::line_graph_t::vertex_type().
Here is the call graph for this function:
angel::overall_markowitz_degree angel::line_graph_t::vertex_type angel::line_graph_t::v
8.1.4.180 int angel::overall_markowitz_degree (const c_graph_t & cg)
Markowitz degree of all vertices in cg.
Definition at line 154 of file angel_types.cpp.
Referenced by angel::line_graph_t::line_graph_t(), momr_edge_front(),angel::momrf_op_t::operator()(), and angel::momrv_op_t::operator()().
8.1.4.181 int angel::overall_minimal_markowitz_degree (const c_graph_t & cg)[inline]
Sum of minimal Markowitz degrees.
Definition at line 712 of file angel_tools.hpp.
References minimal_markowitz_degree().
Here is the call graph for this function:
angel::overall_minimal_markowitz_degree angel::minimal_markowitz_degree
angel::minimal_in_out_degree
angel::c_graph_t::v
angel::vertex_type
angel::maximal_paths
8.1.4.182 unsigned int angel::pair_elim (c_graph_t::edge_t e1,c_graph_t::edge_t e2, c_graph_t & angelLCG, const elimSeq_cost_t& currentElimSeq, refillDependenceMap_t & refillDependences)
Definition at line 731 of file eliminations.cpp.
References CONSTANT_EDGE, edge(), angel::elimSeq_cost_-t::edgeElimVector, angel::c_graph_t::next_edge_number, angel::elimSeq_cost_-t::revealedNewDependence, UNIT_EDGE, and VARIABLE_EDGE.
Referenced by back_elim(), and front_elim().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 131
Here is the call graph for this function:
angel::pair_elim angel::edge
8.1.4.183 unsigned int angel::pairElim_noJAE (c_graph_t::edge_te1, c_graph_t::edge_t e2, c_graph_t & angelLCG, consttransformationSeq_cost_t ∗ currentTransformationSequence,refillDependenceMap_t & refillDependences)
Definition at line 842 of file eliminations.cpp.
References CONSTANT_EDGE, edge(), angel::c_graph_t::next_edge_-number, angel::transformationSeq_cost_t::revealedNewDependence,angel::transformationSeq_cost_t::transformationVector, UNIT_EDGE, andVARIABLE_EDGE.
Referenced by backEdgeElimination_noJAE(), and frontEdgeElimination_noJAE().
Here is the call graph for this function:
angel::pairElim_noJAE angel::edge
8.1.4.184 void angel::permutate_vertices (const c_graph_t & gin, const vector<c_graph_t::vertex_t > & p, c_graph_t & gout)
Definition at line 200 of file angel_tools.cpp.
References angel::c_graph_t::dependents, edge(), renumber_edges(), angel::c_graph_-t::swap(), angel::c_graph_t::v(), and angel::c_graph_t::x().
Here is the call graph for this function:
angel::permutate_vertices
angel::edge
angel::renumber_edges
angel::c_graph_t::swap
angel::c_graph_t::v
angel::c_graph_t::x
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
132 angel Namespace Documentation
8.1.4.185 void angel::permutate_vertices (const c_graph_t & gin, conststd::vector< c_graph_t::vertex_t > & p, c_graph_t & gout)
Permutates vertices, vertex v in gin becomes p[v] in gout.
Referenced by independent_vertices_to_front().
8.1.4.186 void angel::populate_remainderGraph_and_correlationLists(const c_graph_t & angelLCG, const vector< constLinearizedComputationalGraphVertex ∗ > ourLCG_verts, constlist< EdgeRef_t > & edge_ref_list, LinearizedComputationalGraph& remainderLCG, VertexCorrelationList & v_cor_list,EdgeCorrelationList & e_cor_list)
Definition at line 335 of file xaif_interface.cpp.
References CONSTANT_EDGE, getJAE_p(), getLCG_p(), getRefType(), JAE_VERT,LCG_EDGE, THROW_EXCEPT_MACRO, UNIT_EDGE, and VARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::populate_remainderGraph_and_correlationLists
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.187 unsigned int angel::postroute_edge_directly (edge_reroute_ter, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list,JacobianAccumulationExpressionList & jae_list)
Definition at line 365 of file reroutings.cpp.
References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_graph_-t::next_edge_number, angel::edge_reroute_t::pivot_e, removeRef(), setJaevRef(),UNIT_EDGE, and VARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 133
sequence_random().
Here is the call graph for this function:
angel::postroute_edge_directly
angel::edge
angel::removeRef
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.188 unsigned int angel::postroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBoost-erCrossCountryInterface::JacobianAccumulationExpressionList &jae_list)
8.1.4.189 unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er,c_graph_t & angelLCG)
Definition at line 556 of file reroutings.cpp.
References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_-graph_t::next_edge_number, angel::edge_reroute_t::pivot_e, UNIT_EDGE, andVARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().
Here is the call graph for this function:
angel::postrouteEdge_noJAE angel::edge
8.1.4.190 template<typename Ad_graph_t> void angel::predecessor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns successor set of v as vector vec.
Definition at line 187 of file angel_tools.hpp.
Referenced by angel::diste_op_t::operator()(), and sorted_predecessor_set().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
134 angel Namespace Documentation
8.1.4.191 unsigned int angel::preroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list,JacobianAccumulationExpressionList & jae_list)
Definition at line 230 of file reroutings.cpp.
References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_graph_-t::next_edge_number, angel::edge_reroute_t::pivot_e, removeRef(), setJaevRef(),UNIT_EDGE, and VARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().
Here is the call graph for this function:
angel::preroute_edge_directly
angel::edge
angel::removeRef
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.192 unsigned int angel::preroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBoost-erCrossCountryInterface::JacobianAccumulationExpressionList &jae_list)
8.1.4.193 unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er,c_graph_t & angelLCG)
Definition at line 499 of file reroutings.cpp.
References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_-graph_t::next_edge_number, angel::edge_reroute_t::pivot_e, UNIT_EDGE, andVARIABLE_EDGE.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().
Here is the call graph for this function:
angel::prerouteEdge_noJAE angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 135
8.1.4.194 void angel::put_unit_edge_weight (c_graph_t & cg) [inline]
Sets all edge labels (in ew) to 1.
Definition at line 740 of file angel_tools.hpp.
8.1.4.195 void angel::put_unit_vertex_weight (line_graph_t & lg) [inline]
Sets all vertex labels (in ed) to 1.
Definition at line 733 of file angel_tools.hpp.
8.1.4.196 int angel::random (const std::vector< double > & p) [inline]
Random number characterized by p, the accumulated probabities.
• p[0] is the probability of returning 0
• p[1] the probability of returning 0 or 1
• p.size()-1 is the maximal return value
• p[p.size()-1] must be 1.0
Definition at line 536 of file angel_tools.hpp.
References random(), and THROW_EXCEPT_MACRO.
Here is the call graph for this function:
angel::random angel::random
8.1.4.197 int angel::random (int n) [inline]
Random value between 0 and n-1, i.e. from [0, n).
Definition at line 521 of file angel_tools.hpp.
8.1.4.198 double angel::random (double n) [inline]
Random value from [0, n).
Definition at line 517 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
136 angel Namespace Documentation
8.1.4.199 int angel::random (int min, int max) [inline]
Random value between min and max, i.e. from [min, max].
Definition at line 513 of file angel_tools.hpp.
Referenced by ALSA(), angel::neighbor_check_meta_t::operator()(),angel::neighbor_sequence_check_t::operator()(), angel::neighbor_multi_step_-t::operator()(), angel::neighbor_last_removable_t::operator()(), random(), random_-statement(), random_statement_vector(), SA(), and stats2block().
8.1.4.200 void angel::random_block (int inputs, int outputs, int stats, intmax_exp, double unary, c_graph_t & block)
Generates a random basic block.
Parameters:
inputs The number of the block’s inputs
outputs The number of the block’s outputs
stats The number of statements
max_exp The maximal number of expressions in each statement
unary The portion of unary expressions, the remainder are binary.
block The resulting block
Definition at line 237 of file graph_generator.cpp.
References random_statement_vector(), and stats2block().
Here is the call graph for this function:
angel::random_block
angel::random_statement_vector
angel::stats2block
angel::random
angel::random_statement
angel::write_graph angel::write_vector
angel::c_graph_t::swap
angel::take_over_successors
angel::c_graph_t::v
angel::c_graph_t::x
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 137
8.1.4.201 int angel::random_high (int n, int exp = 2) [inline]
Random value from [0, n) where larger values have higher probability (increases withexp).
Definition at line 525 of file angel_tools.hpp.
Referenced by angel::neighbor_check_meta_t::operator()(), and angel::neighbor_-sequence_check_t::operator()().
8.1.4.202 void angel::random_statement (int inputs, int expr, const vector<double > & p, c_graph_t & statement)
Definition at line 24 of file graph_generator.cpp.
References random(), angel::c_graph_t::swap(), and THROW_DEBUG_EXCEPT_-MACRO.
Here is the call graph for this function:
angel::random_statement
angel::random
angel::c_graph_t::swap
8.1.4.203 void angel::random_statement (int inputs, int expr, const std::vector<double > & p, c_graph_t & statement)
Generates a random statement.
Parameters:
inputs The number of inputsexpr The number of expressionsp Probability vector (see description)statement The resulting statement
The number of an expression’s input is characterized by p
• p[0] is the probability that an expression is unary
• p[1] the probability that it is binary at most
• p.size() is the maximal arity
• p[p.size()-1] shall be 1.0
Referenced by random_statement_vector().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
138 angel Namespace Documentation
8.1.4.204 void angel::random_statement_vector (int max_expr, double unary,std::vector< c_graph_t > & statement_vector)
Generates a vector of random statements.
Parameters:
max_expr The maximal number of expressions in each statement
unary The portion of unary expressions, the remainder are binary.
statement_vector The resulting statement list
The number of statement is determined by the vector size. In contrast to random_-statement() it is restricted to unary and binary expressions.
Definition at line 86 of file graph_generator.cpp.
References random(), random_statement(), THROW_DEBUG_EXCEPT_MACRO,and write_graph().
Referenced by random_block().
Here is the call graph for this function:
angel::random_statement_vector
angel::random
angel::random_statement
angel::write_graph angel::write_vector
8.1.4.205 bool angel::reachable (const c_graph_t::vertex_t src, constc_graph_t::vertex_t tgt, c_graph_t & angelLCG)
Answers a reachability query from src to tgt.
Definition at line 15 of file angel_tools.cpp.
Referenced by refill_avoiding_edge_eliminations(), and reroutable_edges().
8.1.4.206 template<typename Ad_graph_t> void angel::reachable_vertices(const Ad_graph_t & adg, std::vector< bool > & rv) [inline]
Computes all reachable vertices for c- and line graphs.
I.e. there are pathes from independent nodes to these nodes. Uses breadth first searchover all independent vertices.
Definition at line 626 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 139
Referenced by angel::line_graph_t::clear_graph(), and angel::c_graph_t::clear_-graph().
8.1.4.207 int angel::read_graph_eliad (const string & file_name, c_graph_t &cg, bool retry = true)
Read graph in EliAD graph format from file.
In case file not found a new name is asked for (on cin) if retry == true or ommited.If no name is entered then an exception containing the last tried filename is thrown.Otherwise it is retried with the new name which is returned in the parameter list.
Definition at line 18 of file angel_io.cpp.
References angel::c_graph_t::check_initial(), angel::c_graph_t::dependents, edge(),independent_vertices_to_front(), angel::c_graph_t::swap(), THROW_EXCEPT_-MACRO, and angel::c_graph_t::X.
Here is the call graph for this function:
angel::read_graph_eliad
angel::c_graph_t::check_initial
angel::edge
angel::independent_vertices_to_front
angel::c_graph_t::swap
angel::c_graph_t::check
angel::c_graph_t::vertex_type
angel::write_graph
angel::c_graph_t::v
angel::write_vector
8.1.4.208 void angel::read_graph_xaif_booster (constLinearizedComputationalGraph & xg, c_graph_t & cg, vector<const LinearizedComputationalGraphVertex ∗ > & av, vector<edge_address_t > & ae)
Definition at line 33 of file xaif_interface.cpp.
References CONSTANT_EDGE, angel::c_graph_t::dependents, THROW_EXCEPT_-MACRO, UNIT_EDGE, VARIABLE_EDGE, which_index(), write_graph(), andangel::c_graph_t::X.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
140 angel Namespace Documentation
Here is the call graph for this function:
angel::read_graph_xaif_booster
angel::which_index
angel::write_graph angel::write_vector
8.1.4.209 bool angel::reducing_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<EdgeElim > & bev2)
Definition at line 1241 of file heuristics.cpp.
References edge_elim_effect().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
Here is the call graph for this function:
angel::reducing_edge_eliminations angel::edge_elim_effect
8.1.4.210 bool angel::reducing_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > & bev2)
Filter that selects edge elimination targets that decrease the nontrivial edge count.
Parameters:
bev1 set of edges that can be eliminated
angelLCG c-graph
ourAwarenessLevel needed to assess costs of eliminations
bev2 set of edge elims that decrease the nontrivial edge count
Returns:
size of bev2
Referenced by reducing_transformations().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 141
8.1.4.211 bool angel::reducing_reroutings (const vector<Rerouting > & erv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Rerouting > & reducingReroutingsV)
Definition at line 1492 of file heuristics.cpp.
References dependent, angel::edge_reroute_t::e, edge(), angel::edge_reroute_-t::increment_eliminatable, angel::edge_reroute_t::isPre, angel::edge_reroute_-t::pivot_e, angel::edge_reroute_t::pivot_eliminatable, reroute_effect(), angel::edge_-reroute_t::type3EdgeElimVector, UNIT_EDGE, VARIABLE_EDGE, and vertex_-type().
Here is the call graph for this function:
angel::reducing_reroutings
angel::edge
angel::reroute_effect
angel::vertex_type
8.1.4.212 bool angel::reducing_reroutings (const vector<Rerouting > & erv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Rerouting > & reducingReroutingsV)
Filter that populates /p reducingReroutingsV with those reroutings that can be followedby an edge elimination with an overall reduction in the nontrivial edgecount.
Referenced by reducing_transformations().
8.1.4.213 bool angel::reducing_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Transformation > & reducingTransformationsV)
Definition at line 1803 of file heuristics.cpp.
References eliminatable_edges(), reducing_edge_eliminations(), and reducing_-reroutings().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
142 angel Namespace Documentation
Here is the call graph for this function:
angel::reducing_transformations
angel::eliminatable_edges
angel::reducing_edge_eliminations
angel::reducing_reroutings
8.1.4.214 bool angel::reducing_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &reducingTransformationsV)
Filter that populates /p reducingTransformationsV with edge eliminations that reducethe nontrivial edge count and reroutings that can be followed by an edge eliminationwith an overall reduction in the nontrivial edgecount.
8.1.4.215 bool angel::refill_avoiding_edge_eliminations (constvector< EdgeElim > & bev1, c_graph_t & angelLCG, constrefillDependenceMap_t refillDependences, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).
Parameters:
bev1 set of edges that can be eliminated
angelLCG c-graph
refillDependences partial map of edges to a set of vertices that lie on paths fromthe edge sources to the edge targets, used to anticipate refill.
bev2 set of edge elims that dont violate refill dependences (returned by reference)
Returns:
size of bev2
Definition at line 1264 of file heuristics.cpp.
References reachable().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 143
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and refill_avoiding_transformations().
Here is the call graph for this function:
angel::refill_avoiding_edge_eliminations angel::reachable
8.1.4.216 bool angel::refill_avoiding_transformations (const vector<Transformation > & tv, c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, constrefillDependenceMap_t & refillDependences, vector< Transformation> & refillAvoidingTransformationsV)
Definition at line 1856 of file heuristics.cpp.
References refill_avoiding_edge_eliminations().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::refill_avoiding_transformations angel::refill_avoiding_edge_eliminations angel::reachable
8.1.4.217 bool angel::refill_avoiding_transformations (const vector<Transformation > & tv, c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, const refillDependenceMap_t& refillDependences, vector< Transformation > &refillAvoidingTransformationsV)
Filter that populates /p refillAvoidingTransformationsV with edge eliminations thataren’t known to be refillable in the future. Any reroutings are passed straight through.
8.1.4.218 template<typename Ad_graph_t> void angel::relevant_vertices(const Ad_graph_t & adg, std::vector< bool > & rv) [inline]
Computes all relevant vertices for c- and line graphs.
I.e. there are pathes from these nodes to dependent nodes. Uses backward breadth firstsearch over all dependent vertices.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
144 angel Namespace Documentation
Definition at line 658 of file angel_tools.hpp.
Referenced by angel::line_graph_t::clear_graph(), and angel::c_graph_t::clear_-graph().
8.1.4.219 template<typename Ad_graph_t> int angel::remove_edges(typename Ad_graph_t::vertex_descriptor i, Ad_graph_t & adg)[inline]
Removes irrelevant and unreachable edges from adg starting with i.
Definition at line 851 of file angel_tools.hpp.
References remove_irrelevant_edges(), and remove_unreachable_edges().
Here is the call graph for this function:
angel::remove_edges
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
8.1.4.220 int angel::remove_hoisting_vertices (c_graph_t & cg)
Removes all vertices with one predecessor and one successor from cg.
Definition at line 279 of file angel_tools.cpp.
References intermediate, vertex_elimination(), and angel::c_graph_t::vertex_type().
Here is the call graph for this function:
angel::remove_hoisting_vertices
angel::vertex_elimination
angel::c_graph_t::vertex_type
angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::v
8.1.4.221 template<typename Ad_graph_t> int angel::remove_irrelevant_-edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_t &adg, bool fast = false) [inline]
Removes irrelevant edges from adg starting with i.
It removes all in-edges of vertix i if i has no out-edges and continues, in this case,recursively with the predecessors of i.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 145
Definition at line 781 of file angel_tools.hpp.
Referenced by face_elimination(), and remove_edges().
8.1.4.222 void angel::remove_parallel_edges (c_graph_t & cg)
Removes parallel edges.
• edges are inserted in the order of their first occurrence e.g. (2, 3), (2, 5), (2, 3),(2, 4), (2, 5) -> (2, 3), (2, 5), (2, 4)
• edge weights are summed for parallel edges
Definition at line 291 of file angel_tools.cpp.
References angel::c_graph_t::dependents, edge(), angel::c_graph_t::swap(), angel::c_-graph_t::v(), and angel::c_graph_t::x().
Here is the call graph for this function:
angel::remove_parallel_edges
angel::edge
angel::c_graph_t::swap
angel::c_graph_t::v
angel::c_graph_t::x
8.1.4.223 void angel::remove_trivial_edges (c_graph_t & cg)
Eliminates all edges with label 1, front elimination is preferred.
Definition at line 319 of file angel_tools.cpp.
References back_edge_elimination(), front_edge_elimination(), independent, andangel::c_graph_t::vertex_type().
Here is the call graph for this function:
angel::remove_trivial_edges
angel::back_edge_elimination
angel::c_graph_t::vertex_type
angel::front_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
146 angel Namespace Documentation
8.1.4.224 template<typename Ad_graph_t> int angel::remove_unreachable_-edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_t &adg, bool fast = false) [inline]
Removes unreachable edges from adg starting with i.
It removes all out-edges of vertix i if i has no in-edges and continues, in this case,recursively with the successors of i.
Definition at line 818 of file angel_tools.hpp.
Referenced by face_elimination(), and remove_edges().
8.1.4.225 void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG, list< EdgeRef_t > & edge_ref_list)
Definition at line 593 of file eliminations.cpp.
References THROW_EXCEPT_MACRO.
Referenced by back_eliminate_edge_directly(), front_eliminate_edge_directly(),multiply_edge_pair_directly(), postroute_edge_directly(), and preroute_edge_-directly().
8.1.4.226 int angel::renumber_edges (c_graph_t & cg)
Renumber edges of cg continously, i.e. to [0..num_edges-1].
Definition at line 248 of file angel_tools.cpp.
Referenced by block2loop(), angel::line_graph_t::line_graph_t(), and permutate_-vertices().
8.1.4.227 unsigned int angel::replay_transformation_seq (c_graph_t &angelLCG, const vector< Transformation > transformationSeqV,unsigned int & previous_numNontrivialEdges, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel,transformationSeq_cost_t & dummy_transformationSeq_cost,refillDependenceMap_t & dummy_refillDependenceMap)
Definition at line 410 of file xaif_interface.cpp.
References backEdgeElimination_noJAE(), frontEdgeElimination_noJAE(), num_-nontrivial_edges(), postrouteEdge_noJAE(), and prerouteEdge_noJAE().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), and xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 147
Here is the call graph for this function:
angel::replay_transformation_seq
angel::backEdgeElimination_noJAE
angel::frontEdgeElimination_noJAE
angel::num_nontrivial_edges
angel::postrouteEdge_noJAE
angel::prerouteEdge_noJAE
angel::pairElim_noJAE
angel::vertex_type
angel::edge
8.1.4.228 unsigned int angel::reroutable_edges (c_graph_t & angelLCG,vector< Rerouting > & allReroutingsV)
Definition at line 89 of file reroutings.cpp.
References reroutable_edges().
Here is the call graph for this function:
angel::reroutable_edges angel::reroutable_edges
angel::edge
angel::reachable
8.1.4.229 void angel::reroutable_edges (c_graph_t & angelLCG, vector<edge_reroute_t > & erv)
Populates a list of all viable edge reroutings in angelLCG.
Parameters:
angelLCG the c_graph_t (passed by reference) that the operation is performed on.
erv empty list that will hold all pre-routings and post-routings in angelLCG.
Returns:
List of edge reroutings erv (by reference).
Definition at line 13 of file reroutings.cpp.
References edge(), and reachable().
Referenced by all_viable_transformations(), and reroutable_edges().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
148 angel Namespace Documentation
Here is the call graph for this function:
angel::reroutable_edges
angel::edge
angel::reachable
8.1.4.230 int angel::reroute_effect (const edge_reroute_t er, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool & incrementIsTrivial)
Definition at line 102 of file reroutings.cpp.
References angel::edge_reroute_t::e, edge(), angel::edge_reroute_t::isPre,angel::edge_reroute_t::pivot_e, THROW_EXCEPT_MACRO, UNIT_EDGE, andVARIABLE_EDGE.
Here is the call graph for this function:
angel::reroute_effect angel::edge
8.1.4.231 int angel::reroute_effect (const edge_-reroute_t er, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, bool & incrementIsTrivial)
Calculates the change in nontrivial edge count from er without actually performing it.In addition, incrementIsTrivial is returned by reference
Referenced by reducing_reroutings(), and transformation_effect().
8.1.4.232 bool angel::rerouting_considerate_edge_eliminations (const vector<EdgeElim > & bev, const c_graph_t & angelLCG, const std::vector<Transformation > & transformationsPerformedV, vector< EdgeElim> & reroutingConsiderateEdgeElimsV)
Filter for selecting those edge eliminations that don’t undo a rerouting (a front-elimination can undo a pre-routing, and a back-elimination can undo a post-routing)
Definition at line 1325 of file heuristics.cpp.
Referenced by rerouting_considerate_transformations().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 149
8.1.4.233 bool angel::rerouting_considerate_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, conststd::vector< Transformation > & transformationsPerformedV,vector< Transformation > & reroutingConsiderateTransformationsV)
Filter that populates /p reroutingConsiderateTransformationsV with edge eliminationsthat don’t undo reroutings. Any reroutings are passed straight through.
Definition at line 1890 of file heuristics.cpp.
References rerouting_considerate_edge_eliminations().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::rerouting_considerate_transformations angel::rerouting_considerate_edge_eliminations
8.1.4.234 int angel::reverse_mode_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Reverse mode in back edge elimination.
Parameters:
ev1 Set of edges that can be eliminatedcg c-graphev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
Edges in ev1 that cannot be back eliminated are ignored.
Definition at line 395 of file heuristics.hpp.
References reverse_mode_edge_f().
Here is the call graph for this function:
angel::reverse_mode_edge_back angel::reverse_mode_edge_f
angel::inv_lex_greater
angel::lex_greater
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
150 angel Namespace Documentation
8.1.4.235 int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)
Reverse mode in edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
front Used for front elimination if true, otherwise for back elimination
cg c-graph
ev2 Result vector of edges, contains highest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int reverse_mode_-edge (const vector<pair<c_graph_t::edge_t,bool> >& ev1, const c_graph_t& cg,vector<pair<c_graph_t::edge_t,bool> >& ev2).
Definition at line 501 of file heuristics.cpp.
References inv_lex_greater(), and lex_greater().
Referenced by reverse_mode_edge_back(), and reverse_mode_edge_front().
Here is the call graph for this function:
angel::reverse_mode_edge_f
angel::inv_lex_greater
angel::lex_greater
8.1.4.236 int angel::reverse_mode_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]
Reverse mode in front edge elimination.
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 151
Returns:
Size of ev2, always 1 (if ev1 is not empty)
Edges in ev1 that cannot be front eliminated are ignored.
Definition at line 381 of file heuristics.hpp.
References reverse_mode_edge_f().
Here is the call graph for this function:
angel::reverse_mode_edge_front angel::reverse_mode_edge_f
angel::inv_lex_greater
angel::lex_greater
8.1.4.237 bool angel::reverse_mode_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, vector<Transformation > & reverseModeTransformationsV)
Filter that populates /p lowestMarkowitzTransformationsV with an edge eliminationthat is chosen by reverse topological order. Any reroutings are passed straight through.
Definition at line 1946 of file heuristics.cpp.
References reverseModeEdgeElim().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Here is the call graph for this function:
angel::reverse_mode_transformations angel::reverseModeEdgeElim
8.1.4.238 bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, const c_graph_t & angelLCG, vector< EdgeElim > &outEEV)
Definition at line 1393 of file heuristics.cpp.
References reverse_mode_edge.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and reverse_mode_transformations().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
152 angel Namespace Documentation
8.1.4.239 double angel::rme_obj (edge_bool_t eb, const c_graph_t & cg)[inline]
Definition at line 519 of file heuristics.cpp.
References edge(), and angel::c_graph_t::x().
Referenced by angel::reverse_mode_edge_t::operator()().
Here is the call graph for this function:
angel::rme_obj
angel::edge
angel::c_graph_t::x
8.1.4.240 template<class Object_t, class Neighbor_t, class Cost_t, classTemp_t> int angel::SA (Object_t & object, Neighbor_t neighbor,Cost_t costs, Temp_t temp, int max_iter) [inline]
Simulated Annealing in a general form.
Parameters:
object Some state in the configuration space.
neighbor Neighborhood relation applicable to object
costs Cost operator applicable to object
temp Temperature operator depending on iteration number, e.g. LOG_-temperature_t
max_iter Maximal number of iterations
Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned. The temperature operatoris expected to take an int parameter and to return a double result.
Note:
At the moment there are only applications with instantiations of elimination_-history_t as Object_t.
Definition at line 11 of file sa_impl.hpp.
References random(), and SA_acceptance().
Referenced by FTSA(), and LSA().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 153
Here is the call graph for this function:
angel::SA
angel::random
angel::SA_acceptance
8.1.4.241 template<class Temp_t> double angel::SA_acceptance (int diff, int it,Temp_t temp) [inline]
Probability to accept new object in SA.
Parameters:
diff The difference between old and new costs, must be < 0.
it Current number of iterations
temp Functor that computes temperature for iteration number it
Definition at line 60 of file sa.hpp.
Referenced by SA().
8.1.4.242 template<typename Ad_graph_t> graph_traits<Ad_-graph_t>::edge_iterator angel::same_edge (typenameAd_graph_t::edge_descriptor e, const Ad_graph_t & g1, constAd_graph_t & g2) [inline]
Returns same edge in another graph.
e is an edge of g1, same_egde returns an edge_iterator to the same edge (equal sourceand equal target) in g2 (or e_end if not found)
Definition at line 333 of file angel_tools.hpp.
Referenced by angel::momrf_op_t::operator()().
8.1.4.243 template<typename Ad_graph_t> void angel::same_neighbors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns set of vertices (in vec) that have same predecessor and successor set as v.
Definition at line 295 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
154 angel Namespace Documentation
References same_predecessors(), and same_successors().
Referenced by face_elimination().
Here is the call graph for this function:
angel::same_neighbors
angel::same_predecessors
angel::same_successors
angel::sorted_predecessor_set
angel::unique_vector
angel::predecessor_set
angel::sorted_successor_set angel::successor_set
8.1.4.244 template<typename Ad_graph_t> void angel::same_predecessors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns set of vertices (in vec) that have same predecessor set as v.
Definition at line 277 of file angel_tools.hpp.
References sorted_predecessor_set(), and unique_vector().
Referenced by face_elimination(), and same_neighbors().
Here is the call graph for this function:
angel::same_predecessors
angel::sorted_predecessor_set
angel::unique_vector
angel::predecessor_set
8.1.4.245 template<typename Ad_graph_t> void angel::same_successors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns set of vertices (in vec) that have same successor set as v.
Definition at line 245 of file angel_tools.hpp.
References sorted_successor_set(), and unique_vector().
Referenced by face_elimination(), and same_neighbors().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 155
Here is the call graph for this function:
angel::same_successors
angel::sorted_successor_set
angel::unique_vector
angel::successor_set
8.1.4.246 template<typename Neighbor_t> bool angel::search_path (conststd::vector< c_graph_t::vertex_t > & from, const std::vector<c_graph_t::vertex_t > & to, const Neighbor_t & n, std::vector<c_graph_t::vertex_t > & path, bool breadth_first = false)[inline]
8.1.4.247 int angel::semi_eliminatable_vertices (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv)
Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.
Besides intermediate vertices, dependent vertices with outgoing edges are included.
Definition at line 351 of file eliminations.cpp.
References dependent, intermediate, and angel::c_graph_t::vertex_type().
Here is the call graph for this function:
angel::semi_eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.248 void angel::setJaevRef (const c_graph_t::edge_t e, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionVertex& jaev, const c_graph_t & angelLCG, const list< EdgeRef_t > &edge_ref_list)
Definition at line 577 of file eliminations.cpp.
References getJAE_p(), getLCG_p(), getRefType(), JAE_VERT, LCG_EDGE, andTHROW_EXCEPT_MACRO.
Referenced by multiply_edge_pair_directly(), postroute_edge_directly(), andpreroute_edge_directly().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
156 angel Namespace Documentation
Here is the call graph for this function:
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
8.1.4.249 template<typename Ad_graph_t> void angel::sorted_predecessor_-set (typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns successor set of v as vector vec, vertices are sorted.
Definition at line 198 of file angel_tools.hpp.
References predecessor_set().
Referenced by face_elimination(), and same_predecessors().
Here is the call graph for this function:
angel::sorted_predecessor_set angel::predecessor_set
8.1.4.250 template<typename Ad_graph_t> void angel::sorted_successor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns successor set of v as vector vec, vertices are sorted.
Definition at line 178 of file angel_tools.hpp.
References successor_set().
Referenced by face_elimination(), and same_successors().
Here is the call graph for this function:
angel::sorted_successor_set angel::successor_set
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 157
8.1.4.251 template<class Object_t, class Ad_graph_t, class Op_t, classObjective_t> int angel::standard_heuristic_op (const vector<Object_t > & v1, const Ad_graph_t & adg, vector< Object_t > & v2,Op_t op, base_heuristic_t< Objective_t > & h) [inline]
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
Definition at line 144 of file heuristics_impl.hpp.
References angel::base_heuristic_t< Objective_t >::set_objective(), and angel::base_-heuristic_t< Objective_t >::to_maximize().
Referenced by angel::minimal_distance_face_t::operator()(), angel::momr_face_-t::operator()(), angel::lowest_markowitz_face_t::operator()(), angel::minimal_-distance_edge_t::operator()(), angel::momr_edge_t::operator()(), angel::lmmd_edge_-t::operator()(), angel::lowest_relative_markowitz_edge_t::operator()(), angel::lowest_-markowitz_edge_t::operator()(), angel::moplr_vertex_t::operator()(), angel::momr_-vertex_t::operator()(), angel::lmmd_vertex_t::operator()(), angel::lowest_fill_in_-vertex_t::operator()(), angel::lowest_relative_markowitz_vertex_t::operator()(), andangel::lowest_markowitz_vertex_t::operator()().
Here is the call graph for this function:
angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
8.1.4.252 void angel::stats2block (int inputs, int outputs, const std::vector<c_graph_t > & stats, c_graph_t & block)
Build a block from a list of statements.
Parameters:
inputs The number of the block’s inputs
outputs The number of the block’s outputs
stats List of statements
block The resulting block
Definition at line 110 of file graph_generator.cpp.
References angel::c_graph_t::dependents, random(), angel::c_graph_t::swap(), take_-over_successors(), THROW_DEBUG_EXCEPT_MACRO, THROW_EXCEPT_-MACRO, angel::c_graph_t::v(), and angel::c_graph_t::x().
Referenced by random_block().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
158 angel Namespace Documentation
Here is the call graph for this function:
angel::stats2block
angel::random
angel::c_graph_t::swap
angel::take_over_successors
angel::c_graph_t::v
angel::c_graph_t::x
8.1.4.253 template<typename Ad_graph_t> void angel::successor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]
Returns successor set of v as vector vec.
Definition at line 167 of file angel_tools.hpp.
Referenced by angel::diste_op_t::operator()(), and sorted_successor_set().
8.1.4.254 template<typename Ad_graph_t, typename Op_t> int angel::sum_-over_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]
Applies op to all in-edges of v and sum it.
Definition at line 145 of file angel_tools.hpp.
Referenced by lmmd_edge_back(), momr_edge_back(), and angel::momrf_op_-t::operator()().
8.1.4.255 template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_out_edges (typenameAd_graph_t::vertex_descriptor v, const Ad_graph_t & adg, constOp_t & op) [inline]
Applies op to all out-edges of v and sum it.
Definition at line 156 of file angel_tools.hpp.
Referenced by lmmd_edge_front(), momr_edge_front(), and angel::momrf_op_-t::operator()().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 159
8.1.4.256 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)
Definition at line 259 of file angel_tools.cpp.
References THROW_DEBUG_EXCEPT_MACRO, and angel::c_graph_t::v().
Referenced by stats2block().
Here is the call graph for this function:
angel::take_over_successors angel::c_graph_t::v
8.1.4.257 int angel::transformation_effect (const Transformation t, constc_graph_t & angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Definition at line 1729 of file heuristics.cpp.
References edge_elim_effect(), angel::Transformation::getEdgeElim(),angel::Rerouting::getER(), angel::Transformation::getRerouting(), an-gel::Transformation::isRerouting(), and reroute_effect().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().
Here is the call graph for this function:
angel::transformation_effect
angel::edge_elim_effect
angel::Transformation::getEdgeElim
angel::Rerouting::getER
angel::Transformation::getRerouting
angel::Transformation::isRerouting
angel::reroute_effect
angel::Rerouting::getE
angel::Rerouting::getPivotE
angel::getEdge angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
160 angel Namespace Documentation
8.1.4.258 int angel::transformation_effect (constTransformation t, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)
Assesses the change in nontrivial edge count that results from applying the transforma-tion t
8.1.4.259 template<typename El_t> void angel::unique_vector (std::vector<El_t > & v) [inline]
Sorts arbitrary vector and removes double elements.
Definition at line 222 of file angel_tools.hpp.
Referenced by common_predecessor(), common_successors(), same_predecessors(),and same_successors().
8.1.4.260 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic (const Ad_graph_t & adg, vector< Object_t > &el_seq, Heuristic_t h) [inline]
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
Parameters:
adg c-graph or line graph
el_seq Obtained elimination sequence
h Heuristic or combination of heuristics
Returns:
Elimination costs
At first graph adg is copied. The type of elimination is determined by the element typeof vector el_seq. Then all objects (vertex, edge, face) chosen by h are eliminated fromthe graph copy.
See also:
eliminatable_objectseliminate()heuristic_pair_t
Definition at line 1155 of file heuristics.hpp.
References eliminatable_objects(), and eliminate().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 161
Referenced by best_heuristic(), and angel::SA_elimination_cost_t< Heuristic_-t >::operator()().
Here is the call graph for this function:
angel::use_heuristic
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
8.1.4.261 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic_debug (const Ad_graph_t & adg, vector<Object_t > & el_seq, Heuristic_t h) [inline]
Debugging version of use_heuristic, several outputs.
Parameters:
adg c-graph or line graph
el_seq Obtained elimination sequence
h Heuristic or combination of heuristics
Returns:
Elimination costs
See also:
use_heuristiceliminatable_objectseliminate()heuristic_pair_t
Definition at line 1217 of file heuristics.hpp.
References eliminatable_objects(), eliminate(), write_graph(), and write_vector().
Here is the call graph for this function:
angel::use_heuristic_debug
angel::eliminatable_objects
angel::eliminate
angel::write_graph
angel::write_vector
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
162 angel Namespace Documentation
8.1.4.262 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic_noconst (Ad_graph_t & adg, vector< Object_t> & el_seq, Heuristic_t h) [inline]
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
Parameters:
adg c-graph or line graph
el_seq Obtained elimination sequence
h Heuristic or combination of heuristics
Returns:
Elimination costs
Same as use_heuristic but the graph is changed not copied.
See also:
use_heuristiceliminatable_objectseliminate()heuristic_pair_t
Definition at line 1187 of file heuristics.hpp.
References eliminatable_objects(), and eliminate().
Here is the call graph for this function:
angel::use_heuristic_noconst
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
8.1.4.263 template<class Object_t, class Ad_graph_t, class Heuristic_t, classOutput_t> int angel::use_heuristic_trace (const Ad_graph_t & adg,vector< Object_t > & el_seq, Heuristic_t h, Output_t output)[inline]
Tracing version of use_heuristic, writes costs for every elimination.
Parameters:
adg c-graph or line graph
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 163
el_seq Obtained elimination sequence
h Heuristic or combination of heuristics
output
Returns:
Elimination costs
See also:
use_heuristiceliminatable_objectseliminateheuristic_pair_t
Definition at line 1263 of file heuristics.hpp.
References eliminatable_objects(), and eliminate().
Here is the call graph for this function:
angel::use_heuristic_trace
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
8.1.4.264 void angel::vertex_downset (const c_graph_t::vertex_t v, constc_graph_t & angelLCG, vertex_set_t & downset)
Returns a set of vertices in adg that v depends on.
Definition at line 46 of file angel_tools.cpp.
8.1.4.265 bool angel::vertex_eliminatable (const c_graph_t & cg) [inline]
Whether cg can be transformed into bipartite graph by vertex eliminations.
Definition at line 228 of file angel_types.hpp.
References angel::c_graph_t::dependents.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
8.1.4.266 int angel::vertex_elimination (int j, line_graph_t & lg)
Eliminate vertex with number j in line graph lg
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
164 angel Namespace Documentation
All faces (∗,j,∗) are eliminated
Definition at line 159 of file eliminations.cpp.
References face_elimination().
Here is the call graph for this function:
angel::vertex_elimination angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighborsangel::same_predecessors
angel::sorted_predecessor_set
angel::same_successorsangel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
8.1.4.267 int angel::vertex_elimination (const vector< int > & seq, c_graph_t& cg)
Elimination of vertices in sequence seq from c-graph cg
Returns:
The costs (number of operation)
8.1.4.268 int angel::vertex_elimination (int j, c_graph_t & cg) [inline]
Elimination of vertex with number j from c-graph cg
Returns:
The costs (number of operation)
Definition at line 36 of file eliminations.hpp.
References vertex_elimination().
Here is the call graph for this function:
angel::vertex_elimination angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 165
8.1.4.269 int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t & cg)
Elimination of vertex v from c-graph cg
Returns:
The costs (number of operation)
Definition at line 19 of file eliminations.cpp.
References back_edge_elimination().
Referenced by convert_elimination_sequence(), eliminate(), angel::momrv_op_-t::operator()(), remove_hoisting_vertices(), and vertex_elimination().
Here is the call graph for this function:
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
8.1.4.270 template<typename Ad_graph_t> vertex_type_t angel::vertex_type(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg) [inline]
Functional equivalent for graph class method (more boost-like).
Definition at line 347 of file angel_tools.hpp.
Referenced by back_edge_elimination(), back_elim(), back_eliminatable_edges(),back_eliminate_edge_directly(), backEdgeElimination_noJAE(), edge_elim_effect(),eliminatable_edges(), eliminatable_faces(), front_eliminatable_edges(), is_bipartite(),is_tripartite(), markowitz_enlargement_front(), minimal_markowitz_degree(), nu-mIntermediateVertices(), numIntermediateVerticesWithoutUnitEdge(), angel::target_-not_dependent_t::operator()(), angel::new_iks_t::operator()(), angel::source_not_-independent_t::operator()(), angel::new_pik_t::operator()(), reducing_reroutings(),and writeVertexAndEdgeTypes().
8.1.4.271 void angel::vertex_upset (const c_graph_t::vertex_t v, constc_graph_t & angelLCG, vertex_set_t & upset)
Returns a set of vertices in adg that depend on v.
Definition at line 32 of file angel_tools.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
166 angel Namespace Documentation
8.1.4.272 int angel::was_non_trivial_elimination (line_graph_t::face_t f, int k,const line_graph_t & lg) [inline]
Returns whether face elimination induces an operation during Jacobian accumulation
Parameters:
f the face
k is the number of a new node or the number of the node absorbing the face
lg the line graph
Returns:
1 if elimination induces operation (+, ∗, or fused multiply add) otherwise 0
Definition at line 399 of file eliminations.hpp.
References was_non_trivial_elimination().
Here is the call graph for this function:
angel::was_non_trivial_elimination angel::was_non_trivial_elimination angel::line_graph_t::v
8.1.4.273 int angel::was_non_trivial_elimination (int i, int j, int k, constline_graph_t & lg) [inline]
Returns whether face elimination induces an operation during Jacobian accumulation
Parameters:
i node number of the source of the face
j node number of the source of the face
k is the number of a new node or the number of the node absorbing the face
lg the line graph
Returns:
1 if elimination induces operation (+, ∗, or fused multiply add) otherwise 0
Definition at line 385 of file eliminations.hpp.
References angel::line_graph_t::v().
Referenced by eliminate(), and was_non_trivial_elimination().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 167
Here is the call graph for this function:
angel::was_non_trivial_elimination angel::line_graph_t::v
8.1.4.274 size_t angel::which_index (const LinearizedCompu-tationalGraphVertex ∗const add, const vector< constLinearizedComputationalGraphVertex ∗ > & av) [inline]
Definition at line 21 of file xaif_interface.cpp.
Referenced by ourLCG_to_angelLCG(), and read_graph_xaif_booster().
8.1.4.275 template<typename Prop_t, typename Ad_graph_t> voidangel::write_edge_property (ostream & stream, const string & s,const Prop_t & prop, const Ad_graph_t & adg) [inline]
Write internal edge property to stream.
Parameters:
streams Commenting string
prop Edge property
adg C-graph or line graph
Definition at line 417 of file angel_io.hpp.
8.1.4.276 void angel::write_face (std::ostream & stream, line_graph_t::face_tface, const line_graph_t & lg)
Definition at line 78 of file angel_io.cpp.
References THROW_DEBUG_EXCEPT_MACRO.
8.1.4.277 void angel::write_face (line_graph_t::face_t face, const line_graph_t& lg) [inline]
Write a face face of lg to standard output.
Definition at line 50 of file angel_io.hpp.
References write_face().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
168 angel Namespace Documentation
Here is the call graph for this function:
angel::write_face angel::write_face
8.1.4.278 void angel::write_face (ostream & stream, line_graph_t::face_t face,const line_graph_t & lg)
Write a face face of lg to stream.
Referenced by write_face(), and write_face_vector().
8.1.4.279 void angel::write_face_vector (std::ostream & stream, conststd::string & s, const std::vector< line_graph_t::face_t > & v, constline_graph_t & lg)
Definition at line 93 of file angel_io.cpp.
References write_face().
Here is the call graph for this function:
angel::write_face_vector angel::write_face
8.1.4.280 void angel::write_face_vector (const string & s, const vector<line_graph_t::face_t > & v, const line_graph_t & lg) [inline]
Write a vector v of faces from lg to standard output with comment s.
Definition at line 61 of file angel_io.hpp.
References write_face_vector().
Here is the call graph for this function:
angel::write_face_vector angel::write_face_vector
8.1.4.281 void angel::write_face_vector (ostream & stream, const string & s,const vector< line_graph_t::face_t > & v, const line_graph_t & lg)
Write a vector v of faces from lg to stream with comment s.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 169
Referenced by write_face_vector().
8.1.4.282 template<typename Ad_graph_t> void angel::write_graph (conststring & file_name, const string & s, const Ad_graph_t & adg)[inline]
Write c-graph or line graph to file.
Parameters:
file_name File will be overwritten
s Commenting string
adg C-graph or line graph
Definition at line 171 of file angel_io.hpp.
References write_graph().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::write_graph angel::write_graph angel::write_vector
8.1.4.283 template<typename Ad_graph_t> void angel::write_graph (conststring & s, const Ad_graph_t & adg) [inline]
Write c-graph or line graph to standard output.
Parameters:
s Commenting string
adg C-graph or line graph
Definition at line 161 of file angel_io.hpp.
References write_graph().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
170 angel Namespace Documentation
Here is the call graph for this function:
angel::write_graph angel::write_graph angel::write_vector
8.1.4.284 template<typename Ad_graph_t> void angel::write_graph (ostream& stream, const string & s, const Ad_graph_t & adg) [inline]
Write c-graph or line graph to stream.
Parameters:
stream
s Commenting string
adg C-graph or line graph
Definition at line 392 of file angel_io.hpp.
References write_vector().
Here is the call graph for this function:
angel::write_graph angel::write_vector
8.1.4.285 template<typename Ad_graph_t> void angel::write_graph (conststring & file_name, const string & s, const Ad_graph_t & adg, boolwrite_edge_weight) [inline]
Write c-graph or line graph to file.
Parameters:
file_name File will be overwritten
s Commenting string
adg C-graph or line graph
write_edge_weight Write edge labels, only defined for c-graph
Definition at line 140 of file angel_io.hpp.
References write_graph().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 171
Here is the call graph for this function:
angel::write_graph angel::write_graph angel::write_vector
8.1.4.286 template<typename Ad_graph_t> void angel::write_graph (conststring & s, const Ad_graph_t & adg, bool write_edge_weight)[inline]
Write c-graph or line graph to standard output.
Parameters:
s Commenting string
adg C-graph or line graph
write_edge_weight Write edge labels, only defined for c-graph
Definition at line 128 of file angel_io.hpp.
References write_graph().
Here is the call graph for this function:
angel::write_graph angel::write_graph angel::write_vector
8.1.4.287 template<typename Ad_graph_t> void angel::write_graph(ostream & stream, const string & s, const Ad_graph_t & adg, boolwrite_edge_weight) [inline]
Write c-graph or line graph to stream.
Parameters:
streams Commenting string
adg C-graph or line graph
write_edge_weight Write edge labels, only defined for c-graph
Definition at line 351 of file angel_io.hpp.
References write_vector().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
172 angel Namespace Documentation
Referenced by angel::c_graph_t::check(), angel::elimination_history_t< Ad_graph_t,El_spec_t >::check_sequence(), convert_elimination_sequence(), lex_less_face(),angel::momrf_op_t::operator()(), ourLCG_to_angelLCG(), random_statement_-vector(), read_graph_xaif_booster(), use_heuristic_debug(), angel::stream_output_-t::write_graph(), and write_graph().
Here is the call graph for this function:
angel::write_graph angel::write_vector
8.1.4.288 template<typename Ad_graph_t> void angel::write_graph_eliad(const string & file_name, const Ad_graph_t & adg) [inline]
Write c-graph or line graph in EliAD format to file.
Parameters:
file_name File will be overwrittenadg C-graph or line graph
Note:
Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)
Definition at line 204 of file angel_io.hpp.
References write_graph_eliad().
Here is the call graph for this function:
angel::write_graph_eliad angel::write_graph_eliad angel::for_all_edges
8.1.4.289 template<typename Ad_graph_t> void angel::write_graph_eliad(const Ad_graph_t & adg) [inline]
Write c-graph or line graph in EliAD format to standard output.
Parameters:
adg C-graph or line graph
Note:
Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 173
Definition at line 194 of file angel_io.hpp.
References write_graph_eliad().
Here is the call graph for this function:
angel::write_graph_eliad angel::write_graph_eliad angel::for_all_edges
8.1.4.290 template<typename Ad_graph_t> void angel::write_graph_eliad(ostream & stream, const Ad_graph_t & adg) [inline]
Write c-graph or line graph in EliAD format to stream.
Parameters:
streamadg C-graph or line graph
Note:
Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)
Definition at line 221 of file angel_io.hpp.
References for_all_edges().
Referenced by write_graph_eliad().
Here is the call graph for this function:
angel::write_graph_eliad angel::for_all_edges
8.1.4.291 void angel::write_graph_xaif_booster (const accu_graph_t &ag, const vector< const LinearizedComputationalGraphVertex∗ > & av, const vector< edge_address_t > & ae,JacobianAccumulationExpressionList & JAElist,LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 120 of file xaif_interface.cpp.
References angel::accu_graph_t::accu_exp, angel::accu_exp_t::add, angel::accu_-exp_t::exp, angel::accu_exp_t::isop, angel::accu_graph_t::jacobi_entries, JAE_-VERT, angel::accu_exp_t::lgn, angel::accu_exp_t::nothing, angel::accu_exp_t::ref,
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
174 angel Namespace Documentation
angel::accu_exp_t::ref_kind, THROW_DEBUG_EXCEPT_MACRO, THROW_-EXCEPT_MACRO, angel::accu_exp_graph_t::v(), and xaif_edge_pr().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
Here is the call graph for this function:
angel::write_graph_xaif_booster
angel::accu_exp_graph_t::v
angel::xaif_edge_pr angel::line_graph_t::x
8.1.4.292 template<typename It_t, typename Op_t> std::ostream&angel::write_iterators (std::ostream & stream, const std::string & s,It_t begin, It_t end, Op_t op) [inline]
Definition at line 311 of file angel_tools.hpp.
8.1.4.293 void angel::write_refillDependences (ostream & stream, constrefillDependenceMap_t & refillDependences)
Definition at line 128 of file angel_io.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
8.1.4.294 template<typename Scalar_t, typename Op_t> voidangel::write_vector (const string & s, const vector< Scalar_t > & v,Op_t op) [inline]
Write STL vector to standard output.
Parameters:
s string
v Vector
op Output operator, op (s, v[i]) must write element v[i] to s
Definition at line 103 of file angel_io.hpp.
References write_vector().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 175
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
Here is the call graph for this function:
angel::write_vector angel::write_vector
8.1.4.295 template<typename Scalar_t, typename Op_t> voidangel::write_vector (ostream & stream, const string & s, constvector< Scalar_t > & v, Op_t op) [inline]
Write STL vector to stream.
Parameters:
streams Commenting string
v Vector
op Output operator, op (s, v[i]) must write element v[i] to s
Definition at line 289 of file angel_io.hpp.
8.1.4.296 template<typename Scalar_t> void angel::write_vector (const string& s, const vector< Scalar_t > & v) [inline]
Write STL vector v to standard output with comment s if their output operator isdefined.
Definition at line 83 of file angel_io.hpp.
References write_vector().
Here is the call graph for this function:
angel::write_vector angel::write_vector
8.1.4.297 template<typename Scalar_t> void angel::write_vector (ostream &stream, const string & s, const vector< Scalar_t > & v) [inline]
Write STL vector v to stream with comment s if their output operator is defined.
Definition at line 273 of file angel_io.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
176 angel Namespace Documentation
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), use_heuristic_debug(), write_graph(), and write_vector().
8.1.4.298 template<typename Prop_t, typename Ad_graph_t> voidangel::write_vertex_property (ostream & stream, const string & s,const Prop_t & prop, const Ad_graph_t & adg) [inline]
Write internal vertex property to stream.
Parameters:
stream
s Commenting string
prop Vertex property
adg C-graph or line graph
Definition at line 241 of file angel_io.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),convert_elimination_sequence(), lex_less_face(), and angel::momrf_op_-t::operator()().
8.1.4.299 void angel::writeVertexAndEdgeTypes (ostream & stream, c_graph_t& angelLCG)
Definition at line 140 of file angel_io.cpp.
References CONSTANT_EDGE, dependent, UNIT_EDGE, VARIABLE_EDGE, andvertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().
Here is the call graph for this function:
angel::writeVertexAndEdgeTypes angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 177
8.1.4.300 const LinearizedComputationalGraphEdge∗ angel::xaif_edge_pr(line_graph_t::edge_t e, const accu_graph_t & ag, const vector<edge_address_t > & ae) [inline]
Definition at line 109 of file xaif_interface.cpp.
References angel::accu_graph_t::lg, and angel::line_graph_t::x().
Referenced by write_graph_xaif_booster().
Here is the call graph for this function:
angel::xaif_edge_pr angel::line_graph_t::x
8.1.5 Variable Documentation
8.1.5.1 string_stream_output_t angel::cout_string_output(std::cout)
8.1.5.2 string_stream_output_t angel::cout_string_output
8.1.5.3 vis_display_output_t angel::cout_vis_display_output(std::cout)
8.1.5.4 vis_display_output_t angel::cout_vis_display_output
8.1.5.5 forward_mode_edge_t angel::forward_mode_edge
Forward mode in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
If lowest edge appears twice in ev1 than front elimination is used. Mixed edge forwardmode is realised such that the same eliminations are effectively done as in vertex andface elimination when forward mode is used as sole criterion.
Definition at line 491 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
178 angel Namespace Documentation
8.1.5.6 forward_mode_edge_t angel::forward_mode_edge
Forward mode in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
If lowest edge appears twice in ev1 than front elimination is used. Mixed edge forwardmode is realised such that the same eliminations are effectively done as in vertex andface elimination when forward mode is used as sole criterion.
Definition at line 491 of file heuristics.cpp.
8.1.5.7 forward_mode_face_t angel::forward_mode_face
Forward mode in face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Result vector of faces, contains face with lowest number (see description)
Returns:
Size of fv2, always 1 (if fv1 is not empty)
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to forward mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when forwardmode is used as sole criterion.
Definition at line 896 of file heuristics.cpp.
8.1.5.8 forward_mode_face_t angel::forward_mode_face
Forward mode in face elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 179
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Result vector of faces, contains face with lowest number (see description)
Returns:
Size of fv2, always 1 (if fv1 is not empty)
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to forward mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when forwardmode is used as sole criterion.
Definition at line 896 of file heuristics.cpp.
8.1.5.9 forward_mode_vertex_t angel::forward_mode_vertex
Forward mode in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Result vector of vertices, contains vertex with lowest number
Returns:
Size of vv2, always 1 (if vv1 is not empty)
Definition at line 36 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
8.1.5.10 forward_mode_vertex_t angel::forward_mode_vertex
Forward mode in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Result vector of vertices, contains vertex with lowest number
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
180 angel Namespace Documentation
Returns:
Size of vv2, always 1 (if vv1 is not empty)
Definition at line 36 of file heuristics.cpp.
8.1.5.11 lmmd_edge_t angel::lmmd_edge(1.0)
Predefined object of lmmd_edge_t with weight=1.0.
This object is introduced for syntactical coherence with other heuristics since lmmd_-edge can be called like a function.
8.1.5.12 lmmd_edge_t angel::lmmd_edge
Predefined object of lmmd_edge_t with weight=1.0.
This object is introduced for syntactical coherence with other heuristics since lmmd_-edge can be called like a function.
8.1.5.13 lmmd_vertex_t angel::lmmd_vertex(1.0)
Predefined object of lmmd_vertex_t with weight=1.0.
This object is introduced for syntactical coherence with other heuristics since lmmd_-vertex can be called like a function.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
8.1.5.14 lmmd_vertex_t angel::lmmd_vertex
Predefined object of lmmd_vertex_t with weight=1.0.
This object is introduced for syntactical coherence with other heuristics since lmmd_-vertex can be called like a function.
8.1.5.15 ofstream angel::log_file
Definition at line 109 of file angel_io.cpp.
8.1.5.16 ofstream angel::log_file
Definition at line 109 of file angel_io.cpp.
Referenced by close_log_file(), and open_log_file().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 181
8.1.5.17 lowest_fill_in_vertex_t angel::lowest_fill_in_vertex
Lowest fill-in in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices whose elimination induces miniminal fill-in
Returns:
Size of vv2
Definition at line 183 of file heuristics.cpp.
8.1.5.18 lowest_fill_in_vertex_t angel::lowest_fill_in_vertex
Lowest fill-in in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices whose elimination induces miniminal fill-in
Returns:
Size of vv2
Definition at line 183 of file heuristics.cpp.
8.1.5.19 lowest_markowitz_edge_t angel::lowest_markowitz_edge
Lowest Markowitz in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and howcg c-graphev2 Result vector of edges with lowest Markowitz degree
Returns:
Size of ev2
Definition at line 590 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
182 angel Namespace Documentation
8.1.5.20 lowest_markowitz_edge_t angel::lowest_markowitz_edge
Lowest Markowitz in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges with lowest Markowitz degree
Returns:
Size of ev2
Definition at line 590 of file heuristics.cpp.
Referenced by lowestMarkowitzEdgeElim().
8.1.5.21 lowest_markowitz_face_t angel::lowest_markowitz_face
Lowest Markowitz for face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Set of faces with the lowest Markowitz degree (see description)
Returns:
Size of fv2
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). With this representation the definition of Markowitzdegree can be generalized to line graphs. The Markowitz degree of vertex j in linegraph is the number of faces with j as second value, Markowitz(j) = |{(∗, j, ∗)}| Forall vertices j where some face like (∗, j, ∗) exist in fv1, the Markowitz degrees arecomputed and their minimum determined. Returned are all faces from fv1 where j hasminimal Markowitz degree.
8.1.5.22 lowest_markowitz_vertex_t angel::lowest_markowitz_vertex
Lowest Markowitz degree first in vertex elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 183
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Set of vertices with lowest Markowitz degree
Returns:
Size of vv2
Definition at line 74 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
8.1.5.23 lowest_markowitz_vertex_t angel::lowest_markowitz_vertex
Lowest Markowitz degree first in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Set of vertices with lowest Markowitz degree
Returns:
Size of vv2
Definition at line 74 of file heuristics.cpp.
8.1.5.24 lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_-edge
Lowest relative Markowitz in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges with lowest relative Markowitz degree
Returns:
Size of ev2
Definition at line 621 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
184 angel Namespace Documentation
8.1.5.25 lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_-edge
Lowest relative Markowitz in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges with lowest relative Markowitz degree
Returns:
Size of ev2
Definition at line 621 of file heuristics.cpp.
8.1.5.26 lowest_relative_markowitz_vertex_t angel::lowest_relative_-markowitz_vertex
Lowest relative Markowitz degree first in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Set of vertices with lowest relative Markowitz degree
Returns:
Size of vv2
Definition at line 102 of file heuristics.cpp.
8.1.5.27 lowest_relative_markowitz_vertex_t angel::lowest_relative_-markowitz_vertex
Lowest relative Markowitz degree first in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Set of vertices with lowest relative Markowitz degree
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 185
Returns:
Size of vv2
Definition at line 102 of file heuristics.cpp.
8.1.5.28 minimal_distance_edge_t angel::minimal_distance_edge
Definition at line 835 of file heuristics.cpp.
8.1.5.29 momr_edge_t angel::momr_edge
Maximal overall Markowitz reduction in mixed edge elimination.
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges with maximal overall Markowitz reduction
Returns:
Size of ev2
Definition at line 807 of file heuristics.cpp.
8.1.5.30 momr_edge_t angel::momr_edge
Maximal overall Markowitz reduction in mixed edge elimination.
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges with maximal overall Markowitz reduction
Returns:
Size of ev2
Definition at line 807 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
186 angel Namespace Documentation
8.1.5.31 momr_face_t angel::momr_face
Maximal overall Markowitz degree reduction in face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg line graph
fv2 Set of faces with maximal overall Markowitz degree reduction
Returns:
Size of fv2
Implemenation rests on an old definition of face elimination. It is not yet tested whetherit works properly . In face elimination MOMR and LMMD are identical.
Definition at line 1102 of file heuristics.cpp.
8.1.5.32 momr_face_t angel::momr_face
Maximal overall Markowitz degree reduction in face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg line graph
fv2 Set of faces with maximal overall Markowitz degree reduction
Returns:
Size of fv2
Implemenation rests on an old definition of face elimination. It is not yet tested whetherit works properly . In face elimination MOMR and LMMD are identical.
Definition at line 1102 of file heuristics.cpp.
8.1.5.33 momr_vertex_t angel::momr_vertex
Instance of momr_vertex_t, can be used as a function and an argument.
Definition at line 363 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 187
8.1.5.34 momr_vertex_t angel::momr_vertex
Instance of momr_vertex_t, can be used as a function and an argument.
Definition at line 363 of file heuristics.cpp.
8.1.5.35 moplr_vertex_t angel::moplr_vertex
Maximal overall path length reduction in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall path length reduction
Returns:
Size of vv2
Definition at line 443 of file heuristics.cpp.
8.1.5.36 moplr_vertex_t angel::moplr_vertex
Maximal overall path length reduction in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall path length reduction
Returns:
Size of vv2
Definition at line 443 of file heuristics.cpp.
8.1.5.37 no_output_t angel::no_output
Definition at line 120 of file angel_io.cpp.
8.1.5.38 no_output_t angel::no_output
Definition at line 120 of file angel_io.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
188 angel Namespace Documentation
8.1.5.39 random_init_t angel::random_init_object
Definition at line 323 of file graph_generator.cpp.
8.1.5.40 random_init_t angel::random_init_object
Definition at line 323 of file graph_generator.cpp.
8.1.5.41 reverse_mode_edge_t angel::reverse_mode_edge
Reverse mode in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
If lowest edge appears twice in ev1 than front elimination is used. Mixed edge reversemode is realised such that the same eliminations are effectively done as in vertex andface elimination when reverse mode is used as sole criterion.
Definition at line 544 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().
8.1.5.42 reverse_mode_edge_t angel::reverse_mode_edge
Reverse mode in edge elimination (mixed front and back elimination).
Parameters:
ev1 Set of edges that can be eliminated and how
cg c-graph
ev2 Result vector of edges, contains lowest edge in lexicographical order
Returns:
Size of ev2, always 1 (if ev1 is not empty)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 189
If lowest edge appears twice in ev1 than front elimination is used. Mixed edge reversemode is realised such that the same eliminations are effectively done as in vertex andface elimination when reverse mode is used as sole criterion.
Definition at line 544 of file heuristics.cpp.
Referenced by reverseModeEdgeElim().
8.1.5.43 reverse_mode_face_t angel::reverse_mode_face
Reverse mode in face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Result vector of faces, contains face with highest number (see description)
Returns:
Size of fv2, always 1 (if fv1 is not empty)
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to reverse mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when reversemode is used as sole criterion.
Definition at line 917 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face().
8.1.5.44 reverse_mode_face_t angel::reverse_mode_face
Reverse mode in face elimination.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Result vector of faces, contains face with highest number (see description)
Returns:
Size of fv2, always 1 (if fv1 is not empty)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
190 angel Namespace Documentation
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to reverse mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when reversemode is used as sole criterion.
Definition at line 917 of file heuristics.cpp.
8.1.5.45 reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_-vertex
Reverse mode emulating vertex elimination with face eliminations.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Set of faces that belong to vertex with the highest number (see description)
Returns:
Size of fv2
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). All faces with highest j are returned.
Definition at line 938 of file heuristics.cpp.
8.1.5.46 reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_-vertex
Reverse mode emulating vertex elimination with face eliminations.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Set of faces that belong to vertex with the highest number (see description)
Returns:
Size of fv2
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). All faces with highest j are returned.
Definition at line 938 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.1 angel Namespace Reference 191
8.1.5.47 reverse_mode_vertex_t angel::reverse_mode_vertex
Reverse mode in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Result vector of vertices, contains vertex with highest number
Returns:
Size of vv2, always 1 (if vv1 is not empty)
Definition at line 55 of file heuristics.cpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),and xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
8.1.5.48 reverse_mode_vertex_t angel::reverse_mode_vertex
Reverse mode in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Result vector of vertices, contains vertex with highest number
Returns:
Size of vv2, always 1 (if vv1 is not empty)
Definition at line 55 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
192 angel Namespace Documentation
8.2 boost Namespace Reference
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.3 GMPI Namespace Reference 193
8.3 GMPI Namespace Reference
Classes
• class buffer_t• class comm_ref_t• class Comm• class Intracomm
Functions
• MPI::Datatype which_mpi_t (char)Returns MPI data type for all available base types.
• MPI::Datatype which_mpi_t (signed short)• MPI::Datatype which_mpi_t (unsigned char)• MPI::Datatype which_mpi_t (double)• MPI::Datatype which_mpi_t (long double)• MPI::Datatype which_mpi_t (pair< int, int >)• MPI::Datatype which_mpi_t (pair< float, int >)• MPI::Datatype which_mpi_t (pair< double, int >)• MPI::Datatype which_mpi_t (pair< long double, int >)• MPI::Datatype which_mpi_t (pair< short, int >)• template<typename Base_t>
const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,Base_t &input)
Read one entry of buffer’s base type.
• template<typename Base_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const Base_t&output)
Write one entry of buffer’s base type.
• template<typename Base_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,vector< Base_t > &input)
Read a vector of buffer’s base type in faster mode than arbitrary vectors.
• template<typename Base_t>const buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, constvector< Base_t > &output)
Write a vector of buffer’s base type in faster mode than arbitrary vectors.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
194 angel Namespace Documentation
• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,pair< Scalar1_t, Scalar2_t > &input)
Reads a pair of arbitrary types.
• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const pair<Scalar1_t, Scalar2_t > &output)
Writes a pair of arbitrary types.
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,vector< Scalar_t > &input)
Reads a vector of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const vector<Scalar_t > &output)
Writes (appends to) a vector of an arbitrary type.
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,list< Scalar_t > &input)
Reads a list of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const list<Scalar_t > &output)
Writes (appends to) a list of an arbitrary type.
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,deque< Scalar_t > &input)
Reads a deque of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const deque<Scalar_t > &output)
Writes (appends to) a deque of an arbitrary type.
Variables
• const MPI::Datatype mpi_size_t = which_mpi_t (size_t())
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.3 GMPI Namespace Reference 195
MPI data type to communicate sizes.
8.3.1 Function Documentation
8.3.1.1 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const deque<Scalar_t > & output) [inline]
Writes (appends to) a deque of an arbitrary type.
Definition at line 220 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::size().
Here is the call graph for this function:
GMPI::operator<< GMPI::buffer_t::size
8.3.1.2 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const list< Scalar_t> & output) [inline]
Writes (appends to) a list of an arbitrary type.
Definition at line 202 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::size().
Here is the call graph for this function:
GMPI::operator<< GMPI::buffer_t::size
8.3.1.3 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const vector<Scalar_t > & output) [inline]
Writes (appends to) a vector of an arbitrary type.
Definition at line 184 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::size().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
196 angel Namespace Documentation
Here is the call graph for this function:
GMPI::operator<< GMPI::buffer_t::size
8.3.1.4 template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t<Base_t>& GMPI::operator<< (buffer_t< Base_t > & buffer,const pair< Scalar1_t, Scalar2_t > & output) [inline]
Writes a pair of arbitrary types.
Definition at line 169 of file gmpi.hpp.
8.3.1.5 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const vector<Base_t > & output) [inline]
Write a vector of buffer’s base type in faster mode than arbitrary vectors.
Definition at line 153 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::size().
Here is the call graph for this function:
GMPI::operator<< GMPI::buffer_t::size
8.3.1.6 template<typename Base_t> buffer_t<Base_t>& GMPI::operator<<(buffer_t< Base_t > & buffer, const Base_t & output) [inline]
Write one entry of buffer’s base type.
Definition at line 139 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::write().
Here is the call graph for this function:
GMPI::operator<< GMPI::buffer_t::write GMPI::buffer_t::reserve
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.3 GMPI Namespace Reference 197
8.3.1.7 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, deque< Scalar_t > & input) [inline]
Reads a deque of an arbitrary type.
Definition at line 211 of file gmpi.hpp.
8.3.1.8 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, list< Scalar_t > & input) [inline]
Reads a list of an arbitrary type.
Definition at line 193 of file gmpi.hpp.
8.3.1.9 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, vector< Scalar_t > & input) [inline]
Reads a vector of an arbitrary type.
Definition at line 175 of file gmpi.hpp.
8.3.1.10 template<typename Base_t, typename Scalar1_t, typenameScalar2_t> const buffer_t<Base_t>& GMPI::operator>> (constbuffer_t< Base_t > & buffer, pair< Scalar1_t, Scalar2_t > & input)[inline]
Reads a pair of arbitrary types.
Definition at line 163 of file gmpi.hpp.
8.3.1.11 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator>> (const buffer_t< Base_t > & buffer, vector<Base_t > & input) [inline]
Read a vector of buffer’s base type in faster mode than arbitrary vectors.
Definition at line 144 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::load(), and GMPI::buffer_t< Base_-t >::remaining().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
198 angel Namespace Documentation
Here is the call graph for this function:
GMPI::operator>>
GMPI::buffer_t::load
GMPI::buffer_t::remaining
8.3.1.12 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator>> (const buffer_t< Base_t > & buffer, Base_t &input) [inline]
Read one entry of buffer’s base type.
Definition at line 134 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::read().
Here is the call graph for this function:
GMPI::operator>> GMPI::buffer_t::read
8.3.1.13 MPI::Datatype GMPI::which_mpi_t (pair< short, int >) [inline]
Definition at line 41 of file gmpi.hpp.
8.3.1.14 MPI::Datatype GMPI::which_mpi_t (pair< long double, int >)[inline]
Definition at line 40 of file gmpi.hpp.
8.3.1.15 MPI::Datatype GMPI::which_mpi_t (pair< double, int >)[inline]
Definition at line 39 of file gmpi.hpp.
8.3.1.16 MPI::Datatype GMPI::which_mpi_t (pair< float, int >) [inline]
Definition at line 38 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.3 GMPI Namespace Reference 199
8.3.1.17 MPI::Datatype GMPI::which_mpi_t (pair< int, int >) [inline]
Definition at line 37 of file gmpi.hpp.
8.3.1.18 MPI::Datatype GMPI::which_mpi_t (long double) [inline]
Definition at line 32 of file gmpi.hpp.
8.3.1.19 MPI::Datatype GMPI::which_mpi_t (double) [inline]
Definition at line 31 of file gmpi.hpp.
8.3.1.20 MPI::Datatype GMPI::which_mpi_t (unsigned char) [inline]
Definition at line 26 of file gmpi.hpp.
8.3.1.21 MPI::Datatype GMPI::which_mpi_t (signed short) [inline]
Definition at line 23 of file gmpi.hpp.
8.3.1.22 MPI::Datatype GMPI::which_mpi_t (char) [inline]
Returns MPI data type for all available base types.
Definition at line 20 of file gmpi.hpp.
8.3.2 Variable Documentation
8.3.2.1 const MPI::Datatype GMPI::mpi_size_t = which_mpi_t (size_t())
MPI data type to communicate sizes.
Definition at line 44 of file gmpi.hpp.
Referenced by GMPI::Intracomm::Bcast().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
200 angel Namespace Documentation
8.4 std Namespace Reference
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.5 xaifBoosterCrossCountryInterface Namespace Reference 201
8.5 xaifBoosterCrossCountryInterface NamespaceReference
Functions
• void compute_partial_elimination_sequence_random (const LinearizedCompu-tationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrela-tionList &v_cor_list, EdgeCorrelationList &e_cor_list)
• void compute_partial_elimination_sequence (const LinearizedComputation-alGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrela-tionList &v_cor_list, EdgeCorrelationList &e_cor_list)
• void compute_partial_transformation_sequence_random (const Linearized-ComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const bool allowMaintainingFlag, JacobianAccumula-tionExpressionList &jae_list, LinearizedComputationalGraph &remainderLCG,VertexCorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list, unsignedint &numReroutings)
• void compute_partial_transformation_sequence (const LinearizedComputa-tionalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorre-lationList &v_cor_list, EdgeCorrelationList &e_cor_list, unsigned int &num-Reroutings)
• void computeEliminationSequenceRandom (const LinearizedComputation-alGraph &ourLCG, JacobianAccumulationExpressionList &jae_list, Lin-earizedComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_-list, EdgeCorrelationList &e_cor_list)
• void compute_elimination_sequence (const LinearizedComputationalGraph&xgraph, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
• void compute_elimination_sequence_lsa_face (const LinearizedComputational-Graph &xgraph, int iterations, double gamma, JacobianAccumulationExpres-sionList &JAElist, LinearizedComputationalGraph &remainderLCG, Vertex-CorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)
• void compute_elimination_sequence_lsa_vertex (const LinearizedComputation-alGraph &xgraph, int iterations, double gamma, JacobianAccumulationExpres-sionList &JAElist, LinearizedComputationalGraph &remainderLCG, Vertex-CorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
202 angel Namespace Documentation
8.5.1 Function Documentation
8.5.1.1 void xaifBoosterCrossCountryInterface::compute_-elimination_sequence (const LinearizedComputationalGraph& xgraph, JacobianAccumulationExpressionList &JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 1140 of file xaif_interface.cpp.
References angel::accu_graph_t::accu_exp, angel::best_heuristic(), angel::convert_-elimination_sequence(), angel::face_elimination(), angel::forward_mode_edge,angel::forward_mode_vertex, angel::accu_graph_t::jacobi_entries, angel::lmmd_-vertex, angel::lowest_markowitz_vertex, angel::momr_vertex, angel::read_graph_-xaif_booster(), angel::reverse_mode_edge, angel::reverse_mode_vertex, angel::accu_-graph_t::set_jacobi_entries(), angel::vertex_eliminatable(), angel::write_graph(),angel::write_graph_xaif_booster(), angel::write_vector(), and angel::write_vertex_-property().
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_elimination_sequence
angel::best_heuristic
angel::convert_elimination_sequence
angel::write_vertex_property
angel::face_elimination
angel::read_graph_xaif_booster
angel::accu_graph_t::set_jacobi_entries
angel::vertex_eliminatable
angel::write_graph
angel::write_graph_xaif_booster
angel::write_vector
angel::use_heuristic
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices
angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination
angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::find_edge
angel::front_edge_elimination
angel::write_graph
angel::write_vector
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighbors
angel::same_predecessors
angel::sorted_predecessor_set
angel::same_successors
angel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
angel::which_index
angel::line_graph_t::check
angel::line_graph_t::is_tripartite
angel::line_graph_t::vertex_type
angel::line_graph_t::x
angel::line_graph_t::y
angel::accu_exp_graph_t::v
angel::xaif_edge_pr
8.5.1.2 void xaifBoosterCrossCountryInterface::compute_elimination_-sequence_lsa_face (const LinearizedComputationalGraph & xgraph,int iterations, double gamma, JacobianAccumulationExpressionList& JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 1227 of file xaif_interface.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.5 xaifBoosterCrossCountryInterface Namespace Reference 203
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), angel::face_elimination(), angel::LSA(), angel::read_graph_xaif_-booster(), angel::reverse_mode_face, angel::elimination_history_t< Ad_graph_t,El_spec_t >::seq, angel::accu_graph_t::set_jacobi_entries(), and angel::write_graph_-xaif_booster().
Referenced by compute_elimination_sequence_lsa_vertex().
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face
angel::elimination_history_t::complete_sequence
angel::face_elimination
angel::LSA
angel::read_graph_xaif_booster
angel::accu_graph_t::set_jacobi_entries
angel::write_graph_xaif_booster
angel::eliminatable_objects
angel::elimination_history_t::elimination
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::eliminate angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighbors
angel::same_predecessors
angel::sorted_predecessor_set
angel::same_successors
angel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
angel::SA
angel::random
angel::SA_acceptance
angel::which_index
angel::write_graph angel::write_vector
angel::line_graph_t::check
angel::line_graph_t::is_tripartite
angel::line_graph_t::vertex_type
angel::line_graph_t::x
angel::line_graph_t::y
angel::accu_exp_graph_t::v
angel::xaif_edge_pr
8.5.1.3 void xaifBoosterCrossCountryInterface::compute_elimination_-sequence_lsa_vertex (const LinearizedComputationalGraph & xgraph,int iterations, double gamma, JacobianAccumulationExpressionList& JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 1259 of file xaif_interface.cpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), compute_elimination_sequence_lsa_face(), angel::convert_elimination_-sequence(), angel::c_graph_t::dependents, angel::face_elimination(), angel::LSA(),angel::read_graph_xaif_booster(), angel::reverse_mode_vertex, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq, angel::accu_graph_t::set_jacobi_entries(),and angel::write_graph_xaif_booster().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
204 angel Namespace Documentation
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex
angel::elimination_history_t::complete_sequence
xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face
angel::face_elimination
angel::LSA
angel::read_graph_xaif_booster
angel::accu_graph_t::set_jacobi_entries
angel::write_graph_xaif_booster
angel::convert_elimination_sequence
angel::eliminatable_objects
angel::elimination_history_t::elimination
angel::eliminatable_vertices
angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::face_elimination
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighbors
angel::same_predecessors
angel::sorted_predecessor_set
angel::same_successors
angel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
angel::SAangel::random
angel::SA_acceptance
angel::which_index
angel::write_graph angel::write_vector
angel::line_graph_t::check
angel::line_graph_t::is_tripartite
angel::line_graph_t::vertex_type
angel::line_graph_t::x
angel::line_graph_t::y
angel::accu_exp_graph_t::v
angel::xaif_edge_pr
angel::find_edge
angel::front_edge_elimination
angel::write_vertex_property
8.5.1.4 void xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence (const LinearizedComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,const bool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 564 of file xaif_interface.cpp.
References angel::back_elim(), angel::back_eliminate_edge_directly(),angel::elimSeq_cost_t::bestNumNontrivialEdges, angel::elimSeq_cost_-t::cost, angel::elimSeq_cost_t::costAtBestEdgecount, angel::elimSeq_-cost_t::edgeElimVector, angel::eliminatable_edges(), angel::front_elim(),angel::front_eliminate_edge_directly(), angel::EdgeElim::getE(), an-gel::EdgeElim::isFront(), angel::lowestMarkowitzEdgeElim(), angel::maintaining_-edge_eliminations(), angel::num_nontrivial_edges(), angel::elimSeq_-cost_t::numIntermediatesWithoutUnitEdgeAtBestEdgecount, an-gel::numIntermediateVertices(), angel::numIntermediateVerticesWithoutUnitEdge(),angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::reducing_edge_eliminations(), angel::refill_avoiding_-edge_eliminations(), angel::elimSeq_cost_t::revealedNewDependence, an-gel::reverseModeEdgeElim(), angel::write_graph(), angel::write_refillDependences(),and angel::writeVertexAndEdgeTypes().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.5 xaifBoosterCrossCountryInterface Namespace Reference 205
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_partial_elimination_sequence
angel::back_elim
angel::back_eliminate_edge_directly
angel::eliminatable_edges
angel::front_elim
angel::front_eliminate_edge_directly
angel::EdgeElim::getE
angel::EdgeElim::isFront
angel::lowestMarkowitzEdgeElim
angel::maintaining_edge_eliminations
angel::num_nontrivial_edges
angel::numIntermediateVertices
angel::numIntermediateVerticesWithoutUnitEdge
angel::ourLCG_to_angelLCG
angel::populate_remainderGraph_and_correlationLists
angel::reducing_edge_eliminations
angel::refill_avoiding_edge_eliminations
angel::reverseModeEdgeElim
angel::write_graph
angel::write_refillDependences
angel::writeVertexAndEdgeTypes
angel::pair_elim
angel::vertex_type
angel::edge
angel::multiply_edge_pair_directly
angel::removeRef
angel::setJaevRef angel::getJAE_p
angel::getLCG_p
angel::getRefType
angel::getEdge
angel::edge_elim_effect
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::write_vector
angel::reachable
8.5.1.5 void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random (const LinearizedComputationalGraph & ourLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, constbool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)
Definition at line 444 of file xaif_interface.cpp.
References angel::back_elim(), angel::back_eliminate_edge_directly(),angel::chooseTarget_sa(), angel::edge_elim_effect(), angel::eliminatable_edges(),angel::front_elim(), angel::front_eliminate_edge_directly(), angel::num_nontrivial_-edges(), angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::replay_transformation_seq(), angel::write_graph(), andangel::writeVertexAndEdgeTypes().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
206 angel Namespace Documentation
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_partial_elimination_sequence_random angel::back_elim
angel::back_eliminate_edge_directly
angel::chooseTarget_sa
angel::edge_elim_effect
angel::eliminatable_edges
angel::front_elim
angel::front_eliminate_edge_directly
angel::num_nontrivial_edges
angel::ourLCG_to_angelLCG
angel::populate_remainderGraph_and_correlationLists
angel::replay_transformation_seq
angel::write_graph
angel::writeVertexAndEdgeTypes
angel::pair_elim
angel::vertex_type
angel::edge
angel::multiply_edge_pair_directly
angel::removeRef
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
angel::gen_prob
angel::edge_elim_effect
angel::EdgeElim::getE
angel::EdgeElim::isFrontangel::getEdge
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::write_vector
angel::backEdgeElimination_noJAE
angel::frontEdgeElimination_noJAEangel::postrouteEdge_noJAE
angel::prerouteEdge_noJAE
angel::pairElim_noJAE
8.5.1.6 void xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence (const LinearizedComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,const bool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list,unsigned int & numReroutings)
Definition at line 861 of file xaif_interface.cpp.
References angel::all_viable_transformations(), angel::back_eliminate_edge_-directly(), angel::backEdgeElimination_noJAE(), angel::transformationSeq_-cost_t::bestNumNontrivialEdges, angel::transformationSeq_cost_t::cost,angel::transformationSeq_cost_t::costAtBestEdgecount, angel::front_eliminate_-edge_directly(), angel::frontEdgeElimination_noJAE(), angel::EdgeElim::getE(),angel::Transformation::getEdgeElim(), angel::Rerouting::getER(), an-gel::Transformation::getRerouting(), angel::EdgeElim::isFront(),angel::Rerouting::isPre(), angel::Transformation::isRerouting(),
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.5 xaifBoosterCrossCountryInterface Namespace Reference 207
angel::lowest_markowitz_transformations(), angel::maintaining_-transformations(), angel::num_nontrivial_edges(), angel::transformationSeq_-cost_t::numIntermediatesWithoutUnitEdgeAtBestEdgecount, an-gel::numIntermediateVertices(), angel::numIntermediateVerticesWithoutUnitEdge(),angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::postroute_edge_directly(), angel::postrouteEdge_-noJAE(), angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(),angel::reducing_transformations(), angel::refill_avoiding_transformations(),angel::rerouting_considerate_transformations(), angel::transformationSeq_-cost_t::revealedNewDependence, angel::reverse_mode_transformations(),angel::transformationSeq_cost_t::transformationVector, and angel::write_-refillDependences().
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_partial_transformation_sequence
angel::all_viable_transformations
angel::back_eliminate_edge_directly
angel::backEdgeElimination_noJAE
angel::front_eliminate_edge_directly
angel::frontEdgeElimination_noJAE angel::EdgeElim::getE
angel::Transformation::getEdgeElim
angel::Rerouting::getER
angel::Transformation::getRerouting
angel::EdgeElim::isFront
angel::Rerouting::isPre
angel::Transformation::isRerouting
angel::lowest_markowitz_transformations
angel::maintaining_transformations
angel::num_nontrivial_edges
angel::numIntermediateVertices
angel::numIntermediateVerticesWithoutUnitEdge
angel::ourLCG_to_angelLCG
angel::populate_remainderGraph_and_correlationLists
angel::postroute_edge_directly
angel::postrouteEdge_noJAE
angel::preroute_edge_directly
angel::prerouteEdge_noJAE
angel::reducing_transformations
angel::refill_avoiding_transformations
angel::rerouting_considerate_transformations
angel::reverse_mode_transformations
angel::write_refillDependences
angel::eliminatable_edges
angel::noncyclicReroutings
angel::reroutable_edges
angel::edge
angel::multiply_edge_pair_directly angel::removeRef
angel::vertex_type
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
angel::pairElim_noJAE
angel::getEdgeangel::Rerouting::getE
angel::Rerouting::getPivotE
angel::lowestMarkowitzEdgeElim
angel::maintaining_edge_eliminations
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::reducing_edge_eliminations
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
208 angel Namespace Documentation
8.5.1.7 void xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random (constLinearizedComputationalGraph & ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const boolallowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list,unsigned int & numReroutings)
Definition at line 722 of file xaif_interface.cpp.
References angel::all_viable_transformations(), angel::back_eliminate_-edge_directly(), angel::backEdgeElimination_noJAE(), angel::chooseTarget_-sa(), angel::front_eliminate_edge_directly(), angel::frontEdgeElimination_-noJAE(), angel::num_nontrivial_edges(), angel::ourLCG_to_angelLCG(),angel::populate_remainderGraph_and_correlationLists(), angel::postroute_-edge_directly(), angel::postrouteEdge_noJAE(), angel::preroute_edge_-directly(), angel::prerouteEdge_noJAE(), angel::replay_transformation_-seq(), angel::transformation_effect(), angel::write_graph(), and an-gel::writeVertexAndEdgeTypes().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
8.5 xaifBoosterCrossCountryInterface Namespace Reference 209
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::compute_partial_transformation_sequence_random
angel::all_viable_transformations
angel::back_eliminate_edge_directly
angel::backEdgeElimination_noJAE
angel::chooseTarget_sa
angel::front_eliminate_edge_directly
angel::frontEdgeElimination_noJAE
angel::num_nontrivial_edges
angel::ourLCG_to_angelLCGangel::populate_remainderGraph_and_correlationLists
angel::postroute_edge_directly
angel::postrouteEdge_noJAE
angel::preroute_edge_directly
angel::prerouteEdge_noJAE
angel::replay_transformation_seq
angel::transformation_effect
angel::write_graph
angel::writeVertexAndEdgeTypes
angel::eliminatable_edges
angel::noncyclicReroutings
angel::reroutable_edges
angel::edge
angel::reachable
angel::multiply_edge_pair_directly angel::removeRef
angel::vertex_type
angel::setJaevRef angel::getJAE_p
angel::getLCG_p
angel::getRefType
angel::pairElim_noJAE
angel::gen_prob
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::write_vector
angel::edge_elim_effect
angel::Transformation::getEdgeElim
angel::Rerouting::getER
angel::Transformation::getRerouting
angel::Transformation::isRerouting
angel::reroute_effect
angel::Rerouting::getE
angel::Rerouting::getPivotE angel::getEdge
8.5.1.8 void xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom (constLinearizedComputationalGraph & ourLCG, JacobianAccumula-tionExpressionList & jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrelationList & v_cor_list, EdgeCorrelationList& e_cor_list)
Definition at line 1024 of file xaif_interface.cpp.
References angel::back_elim(), angel::back_eliminate_edge_directly(), an-gel::chooseEdgeElimRandomly(), angel::eliminatable_edges(), angel::front_-elim(), angel::front_eliminate_edge_directly(), angel::ourLCG_to_angelLCG(),angel::populate_remainderGraph_and_correlationLists(), angel::write_graph(), andangel::writeVertexAndEdgeTypes().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
210 angel Namespace Documentation
Here is the call graph for this function:
xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom
angel::back_elim
angel::back_eliminate_edge_directly
angel::chooseEdgeElimRandomly
angel::eliminatable_edges
angel::front_elim
angel::front_eliminate_edge_directly
angel::ourLCG_to_angelLCG
angel::populate_remainderGraph_and_correlationLists
angel::write_graph
angel::writeVertexAndEdgeTypes
angel::pair_elim
angel::vertex_type
angel::edge
angel::multiply_edge_pair_directly
angel::removeRef
angel::setJaevRef
angel::getJAE_p
angel::getLCG_p
angel::getRefType
angel::gen_prob
angel::which_index
angel::write_graph
angel::c_graph_t::x
angel::write_vector
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 9
angel Class Documentation
9.1 angel::accu_exp_graph_t Class Reference
#include <angel_types.hpp>
Public Member Functions
• void set_graph (line_graph_t::edge_t e_out, line_graph_t::edge_t e1, line_-graph_t::edge_t e2, std::vector< int > exp_nr)
• void set_graph (accu_exp_t::op_t op, line_graph_t::edge_t e1, line_graph_-t::edge_t e2, std::vector< int > exp_nr)
• void set_graph (line_graph_t::edge_t edge)
• int x () const
• int y () const
• int v () const
• int z () const
Public Attributes
• std::vector< pure_accu_exp_graph_t::vertex_descriptor > dependents
Private Attributes
• int X
212 angel Class Documentation
9.1.1 Detailed Description
Definition at line 644 of file angel_types.hpp.
9.1.2 Member Function Documentation
9.1.2.1 void angel::accu_exp_graph_t::set_graph (line_graph_t::edge_t e_out,line_graph_t::edge_t e1, line_graph_t::edge_t e2, std::vector< int >exp_nr)
Definition at line 407 of file angel_types.cpp.
References angel::accu_exp_t::add, dependents, angel::accu_exp_t::mult, and X.
9.1.2.2 void angel::accu_exp_graph_t::set_graph (accu_exp_t::op_t op,line_graph_t::edge_t e1, line_graph_t::edge_t e2, std::vector< int >exp_nr)
Definition at line 419 of file angel_types.cpp.
References dependents, and X.
9.1.2.3 void angel::accu_exp_graph_t::set_graph (line_graph_t::edge_t edge)
Definition at line 431 of file angel_types.cpp.
References X.
9.1.2.4 int angel::accu_exp_graph_t::x () const [inline]
Definition at line 653 of file angel_types.hpp.
References X.
Referenced by z().
9.1.2.5 int angel::accu_exp_graph_t::y () const [inline]
Definition at line 654 of file angel_types.hpp.
References dependents.
Referenced by z().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.1 angel::accu_exp_graph_t Class Reference 213
9.1.2.6 int angel::accu_exp_graph_t::v () const [inline]
Definition at line 655 of file angel_types.hpp.
Referenced by angel::write_graph_xaif_booster(), and z().
9.1.2.7 int angel::accu_exp_graph_t::z () const [inline]
Definition at line 656 of file angel_types.hpp.
References v(), x(), and y().
Here is the call graph for this function:
angel::accu_exp_graph_t::z
angel::accu_exp_graph_t::v
angel::accu_exp_graph_t::x
angel::accu_exp_graph_t::y
9.1.3 Member Data Documentation
9.1.3.1 int angel::accu_exp_graph_t::X [private]
Definition at line 645 of file angel_types.hpp.
Referenced by set_graph(), and x().
9.1.3.2 std::vector<pure_accu_exp_graph_t::vertex_descriptor>angel::accu_exp_graph_t::dependents
Definition at line 652 of file angel_types.hpp.
Referenced by set_graph(), and y().
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
214 angel Class Documentation
9.2 angel::accu_exp_t Struct Reference
#include <angel_types.hpp>
Collaboration diagram for angel::accu_exp_t:
angel::accu_exp_t
angel::accu_exp_t::ref_t
ref
Public Types
• enum ref_kind_t { nothing, exp, lgn, isop }
• enum op_t { add, mult }
Public Member Functions
• void set_exp (int _exp_nr)
• void set_node (line_graph_t::edge_t _node)
• void set_op (op_t _op)
Public Attributes
• ref_t ref
• ref_kind_t ref_kind
Classes
• union ref_t
9.2.1 Detailed Description
Definition at line 610 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.2 angel::accu_exp_t Struct Reference 215
9.2.2 Member Enumeration Documentation
9.2.2.1 enum angel::accu_exp_t::ref_kind_t
Enumerator:
nothing
exp
lgn
isop
Definition at line 611 of file angel_types.hpp.
9.2.2.2 enum angel::accu_exp_t::op_t
Enumerator:
add
mult
Definition at line 612 of file angel_types.hpp.
9.2.3 Member Function Documentation
9.2.3.1 void angel::accu_exp_t::set_exp (int _exp_nr) [inline]
Definition at line 621 of file angel_types.hpp.
References exp, angel::accu_exp_t::ref_t::exp_nr, ref, and ref_kind.
9.2.3.2 void angel::accu_exp_t::set_node (line_graph_t::edge_t _node)[inline]
Definition at line 622 of file angel_types.hpp.
References lgn, angel::accu_exp_t::ref_t::node, ref, and ref_kind.
9.2.3.3 void angel::accu_exp_t::set_op (op_t _op) [inline]
Definition at line 623 of file angel_types.hpp.
References isop, angel::accu_exp_t::ref_t::op, ref, and ref_kind.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
216 angel Class Documentation
9.2.4 Member Data Documentation
9.2.4.1 ref_t angel::accu_exp_t::ref
Definition at line 618 of file angel_types.hpp.
Referenced by angel::operator<<(), set_exp(), set_node(), set_op(), and angel::write_-graph_xaif_booster().
9.2.4.2 ref_kind_t angel::accu_exp_t::ref_kind
Definition at line 619 of file angel_types.hpp.
Referenced by angel::operator<<(), set_exp(), set_node(), set_op(), and angel::write_-graph_xaif_booster().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.3 angel::accu_exp_t::ref_t Union Reference 217
9.3 angel::accu_exp_t::ref_t Union Reference
#include <angel_types.hpp>
Public Attributes
• line_graph_t::edge_t node• int exp_nr• op_t op
9.3.1 Detailed Description
Definition at line 613 of file angel_types.hpp.
9.3.2 Member Data Documentation
9.3.2.1 line_graph_t::edge_t angel::accu_exp_t::ref_t::node
Definition at line 614 of file angel_types.hpp.
Referenced by angel::accu_exp_t::set_node().
9.3.2.2 int angel::accu_exp_t::ref_t::exp_nr
Definition at line 615 of file angel_types.hpp.
Referenced by angel::accu_exp_t::set_exp().
9.3.2.3 op_t angel::accu_exp_t::ref_t::op
Definition at line 616 of file angel_types.hpp.
Referenced by angel::accu_exp_t::set_op().
The documentation for this union was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
218 angel Class Documentation
9.4 angel::accu_graph_t Struct Reference
#include <angel_types.hpp>
Collaboration diagram for angel::accu_graph_t:
angel::accu_graph_t
angel::line_graph_t
lg
angel::c_graph_t
cg
cgp
Public Member Functions
• accu_graph_t (const c_graph_t &_cg, const line_graph_t &_lg)• void set_jacobi_entries ()
Public Attributes
• const c_graph_t & cg• const line_graph_t & lg• std::vector< accu_exp_graph_t > accu_exp• std::vector< ad_edge_t > jacobi_entries• std::vector< int > exp_nr
9.4.1 Detailed Description
Definition at line 659 of file angel_types.hpp.
9.4.2 Constructor & Destructor Documentation
9.4.2.1 angel::accu_graph_t::accu_graph_t (const c_graph_t & _cg, constline_graph_t & _lg) [inline]
Definition at line 666 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.4 angel::accu_graph_t Struct Reference 219
9.4.3 Member Function Documentation
9.4.3.1 void angel::accu_graph_t::set_jacobi_entries ()
Definition at line 437 of file angel_types.cpp.
References accu_exp, angel::line_graph_t::check(), exp_nr, angel::intermediate,angel::line_graph_t::is_tripartite(), jacobi_entries, lg, THROW_DEBUG_EXCEPT_-MACRO, angel::line_graph_t::v(), and angel::line_graph_t::vertex_type().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().
Here is the call graph for this function:
angel::accu_graph_t::set_jacobi_entries
angel::line_graph_t::check
angel::line_graph_t::v
angel::line_graph_t::is_tripartite angel::line_graph_t::vertex_type
angel::line_graph_t::x
angel::line_graph_t::y
9.4.4 Member Data Documentation
9.4.4.1 const c_graph_t& angel::accu_graph_t::cg
Definition at line 660 of file angel_types.hpp.
9.4.4.2 const line_graph_t& angel::accu_graph_t::lg
Definition at line 661 of file angel_types.hpp.
Referenced by set_jacobi_entries(), and angel::xaif_edge_pr().
9.4.4.3 std::vector<accu_exp_graph_t> angel::accu_graph_t::accu_exp
Definition at line 662 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),angel::face_elimination(), set_jacobi_entries(), and angel::write_graph_xaif_-booster().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
220 angel Class Documentation
9.4.4.4 std::vector<ad_edge_t> angel::accu_graph_t::jacobi_entries
Definition at line 663 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),set_jacobi_entries(), and angel::write_graph_xaif_booster().
9.4.4.5 std::vector<int> angel::accu_graph_t::exp_nr
Definition at line 664 of file angel_types.hpp.
Referenced by angel::face_elimination(), and set_jacobi_entries().
The documentation for this struct was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.5 angel::base_exception Class Reference 221
9.5 angel::base_exception Class Reference
#include <angel_exceptions.hpp>
Inheritance diagram for angel::base_exception:
angel::base_exception
angel::consistency_exception angel::io_exception
Collaboration diagram for angel::base_exception:
angel::base_exception
string
reason
Public Member Functions
• base_exception (std::string filename, int linenumber, std::string what)
Save file name, line number and reason of exception.
• void say_reason ()
Write file name, line number and reason to cerr.
• const std::string & what_reason () const
return file name, line number and reason as string
Protected Attributes
• std::string reason
9.5.1 Detailed Description
Definition at line 12 of file angel_exceptions.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
222 angel Class Documentation
9.5.2 Constructor & Destructor Documentation
9.5.2.1 angel::base_exception::base_exception (std::string filename, intlinenumber, std::string what) [inline]
Save file name, line number and reason of exception.
Definition at line 17 of file angel_exceptions.hpp.
References reason.
9.5.3 Member Function Documentation
9.5.3.1 void angel::base_exception::say_reason () [inline]
Write file name, line number and reason to cerr.
Definition at line 22 of file angel_exceptions.hpp.
References reason.
9.5.3.2 const std::string& angel::base_exception::what_reason () const[inline]
return file name, line number and reason as string
Definition at line 25 of file angel_exceptions.hpp.
References reason.
9.5.4 Member Data Documentation
9.5.4.1 std::string angel::base_exception::reason [protected]
Definition at line 14 of file angel_exceptions.hpp.
Referenced by base_exception(), say_reason(), and what_reason().
The documentation for this class was generated from the following file:
• angel/include/angel_exceptions.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.6 angel::base_heuristic_t< Objective_t > Class Template Reference 223
9.6 angel::base_heuristic_t< Objective_t > Class Tem-plate Reference
#include <heuristics.hpp>
Inheritance diagram for angel::base_heuristic_t< Objective_t >:
angel::base_heuristic_t< Objective_t >
angel::base_heuristic_t< double >
< double >
angel::base_heuristic_t< int >
< int >
angel::forward_mode_edge_t
angel::forward_mode_face_t
angel::reverse_mode_edge_t
angel::reverse_mode_face_t
angel::forward_mode_vertex_t
angel::lmmd_edge_t
angel::lmmd_vertex_t
angel::lowest_fill_in_vertex_t
angel::lowest_markowitz_edge_t
angel::lowest_markowitz_face_complete_t< Heuristic_t >
angel::lowest_markowitz_face_t
angel::lowest_markowitz_vertex_t
angel::lowest_relative_markowitz_edge_t
angel::lowest_relative_markowitz_vertex_t
angel::minimal_distance_edge_t
angel::minimal_distance_face_t
angel::momr_edge_t
angel::momr_face_t
angel::momr_vertex_t
angel::moplr_vertex_t
angel::reverse_mode_face_whole_vertex_t
angel::reverse_mode_vertex_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
224 angel Class Documentation
Collaboration diagram for angel::base_heuristic_t< Objective_t >:
angel::base_heuristic_t< Objective_t >
Objective_t
my_objective
Public Types
• typedef Objective_t objective_t
Public Member Functions
• base_heuristic_t (bool _m)• Objective_t objective () const• void set_objective (Objective_t o)• void set_empty_objective ()• bool to_maximize () const
Protected Attributes
• Objective_t my_objective• bool is_set• bool my_maximize
9.6.1 Detailed Description
template<class Objective_t = int> class angel::base_heuristic_t< Objective_t >
Definition at line 28 of file heuristics.hpp.
9.6.2 Member Typedef Documentation
9.6.2.1 template<class Objective_t = int> typedef Objective_tangel::base_heuristic_t< Objective_t >::objective_t
Definition at line 34 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.6 angel::base_heuristic_t< Objective_t > Class Template Reference 225
9.6.3 Constructor & Destructor Documentation
9.6.3.1 template<class Objective_t = int> angel::base_heuristic_t< Objective_t>::base_heuristic_t (bool _m) [inline]
Definition at line 35 of file heuristics.hpp.
9.6.4 Member Function Documentation
9.6.4.1 template<class Objective_t = int> Objective_t angel::base_heuristic_t<Objective_t >::objective () const [inline]
Definition at line 36 of file heuristics.hpp.
9.6.4.2 template<class Objective_t = int> void angel::base_heuristic_t<Objective_t >::set_objective (Objective_t o) [inline]
Definition at line 38 of file heuristics.hpp.
Referenced by angel::standard_heuristic_op().
9.6.4.3 template<class Objective_t = int> void angel::base_heuristic_t<Objective_t >::set_empty_objective () [inline]
Definition at line 40 of file heuristics.hpp.
9.6.4.4 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::to_maximize () const [inline]
Definition at line 44 of file heuristics.hpp.
Referenced by angel::standard_heuristic_op().
9.6.5 Member Data Documentation
9.6.5.1 template<class Objective_t = int> Objective_t angel::base_heuristic_t<Objective_t >::my_objective [protected]
Definition at line 30 of file heuristics.hpp.
Referenced by angel::base_heuristic_t< int >::objective(), angel::base_heuristic_t<int >::set_empty_objective(), and angel::base_heuristic_t< int >::set_objective().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
226 angel Class Documentation
9.6.5.2 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::is_set [protected]
Definition at line 31 of file heuristics.hpp.
Referenced by angel::base_heuristic_t< int >::objective(), angel::base_heuristic_t<int >::set_empty_objective(), and angel::base_heuristic_t< int >::set_objective().
9.6.5.3 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::my_maximize [protected]
Definition at line 32 of file heuristics.hpp.
Referenced by angel::base_heuristic_t< int >::set_empty_objective(), andangel::base_heuristic_t< int >::to_maximize().
The documentation for this class was generated from the following file:
• angel/include/heuristics.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.7 GMPI::buffer_t< Base_t > Class Template Reference 227
9.7 GMPI::buffer_t< Base_t > Class Template Refer-ence
#include <gmpi.hpp>
Public Types
• typedef Base_t base_t
The base type of the buffer.
Public Member Functions
• buffer_t ()
Set an empty configuration.
• buffer_t (size_t n)
Reserve n entries of base type at the beginning.
• void reserve (size_t n)
Reserve memory for another n entries of base type.
• bool empty () const
Whether all data is read.
• size_t remaining () const
The number of remaining entries to read.
• Base_t read () const
Read one entry of base type from buffer.
• void unread () const
Undo effect of last reading.
• void write (Base_t output)
Write one entry of base type into buffer.
• void load (Base_t ∗address, size_t n) const
Load n entries from the buffer into address.
• void store (Base_t ∗address, size_t n)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
228 angel Class Documentation
Store n entries from address into the buffer.
• size_t size () const
Buffer size, e.g. to send or receive data.
• Base_t ∗ address ()
Buffer address (as non-const), e.g. to receive data.
• const Base_t ∗ buffer_address () const
Buffer address (as const), e.g. to send data.
• void free ()
Explicit memory release.
Public Attributes
• MPI::Datatype mpi_t
MPI data type used in operations.
• const int base_t_size
Base type’s size in byte.
Private Attributes
• vector< Base_t > my_buffer
• size_t write_pos
• size_t read_pos
• bool read_write
9.7.1 Detailed Description
template<typename Base_t> class GMPI::buffer_t< Base_t >
Definition at line 47 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.7 GMPI::buffer_t< Base_t > Class Template Reference 229
9.7.2 Member Typedef Documentation
9.7.2.1 template<typename Base_t> typedef Base_t GMPI::buffer_t< Base_t>::base_t
The base type of the buffer.
Definition at line 49 of file gmpi.hpp.
9.7.3 Constructor & Destructor Documentation
9.7.3.1 template<typename Base_t> GMPI::buffer_t< Base_t >::buffer_t ()[inline]
Set an empty configuration.
Definition at line 59 of file gmpi.hpp.
9.7.3.2 template<typename Base_t> GMPI::buffer_t< Base_t >::buffer_t(size_t n) [inline]
Reserve n entries of base type at the beginning.
Definition at line 63 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::reserve().
Here is the call graph for this function:
GMPI::buffer_t::buffer_t GMPI::buffer_t::reserve
9.7.4 Member Function Documentation
9.7.4.1 template<typename Base_t> void GMPI::buffer_t< Base_t >::reserve(size_t n) [inline]
Reserve memory for another n entries of base type.
Definition at line 68 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_write, and GMPI::buffer_t< Base_t >::write_pos.
Referenced by GMPI::Intracomm::Bcast(), GMPI::buffer_t< Base_t >::buffer_t(),GMPI::Comm::Recv(), GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t<Base_t >::write().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
230 angel Class Documentation
9.7.4.2 template<typename Base_t> bool GMPI::buffer_t< Base_t >::empty() const [inline]
Whether all data is read.
Definition at line 74 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_-t >::write_pos.
9.7.4.3 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::remaining () const [inline]
The number of remaining entries to read.
Definition at line 78 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_-t >::write_pos.
Referenced by GMPI::operator>>().
9.7.4.4 template<typename Base_t> Base_t GMPI::buffer_t< Base_t >::read() const [inline]
Read one entry of base type from buffer.
Definition at line 82 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_pos, and GMPI::buffer_t< Base_t >::read_write.
Referenced by GMPI::operator>>().
9.7.4.5 template<typename Base_t> void GMPI::buffer_t< Base_t >::unread() const [inline]
Undo effect of last reading.
Definition at line 89 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::read_pos.
9.7.4.6 template<typename Base_t> void GMPI::buffer_t< Base_t >::write(Base_t output) [inline]
Write one entry of base type into buffer.
Definition at line 95 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.7 GMPI::buffer_t< Base_t > Class Template Reference 231
References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_write, GMPI::buffer_t< Base_t >::reserve(), and GMPI::buffer_t< Base_t>::write_pos.
Referenced by GMPI::operator<<().
Here is the call graph for this function:
GMPI::buffer_t::write GMPI::buffer_t::reserve
9.7.4.7 template<typename Base_t> void GMPI::buffer_t< Base_t >::load(Base_t ∗ address, size_t n) const [inline]
Load n entries from the buffer into address.
Definition at line 103 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::base_t_size, GMPI::buffer_t< Base_-t >::my_buffer, GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_t>::read_write.
Referenced by GMPI::operator>>().
9.7.4.8 template<typename Base_t> void GMPI::buffer_t< Base_t >::store(Base_t ∗ address, size_t n) [inline]
Store n entries from address into the buffer.
Definition at line 111 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::base_t_size, GMPI::buffer_t< Base_-t >::my_buffer, GMPI::buffer_t< Base_t >::read_write, GMPI::buffer_t< Base_-t >::reserve(), and GMPI::buffer_t< Base_t >::write_pos.
Here is the call graph for this function:
GMPI::buffer_t::store GMPI::buffer_t::reserve
9.7.4.9 template<typename Base_t> size_t GMPI::buffer_t< Base_t >::size ()const [inline]
Buffer size, e.g. to send or receive data.
Definition at line 119 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
232 angel Class Documentation
References GMPI::buffer_t< Base_t >::my_buffer.
Referenced by GMPI::Intracomm::Bcast(), GMPI::operator<<(), andGMPI::Comm::Send().
9.7.4.10 template<typename Base_t> Base_t∗ GMPI::buffer_t< Base_t>::address () [inline]
Buffer address (as non-const), e.g. to receive data.
Definition at line 122 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::my_buffer.
Referenced by GMPI::Intracomm::Bcast(), GMPI::Comm::Recv(), andGMPI::Comm::Send().
9.7.4.11 template<typename Base_t> const Base_t∗ GMPI::buffer_t< Base_t>::buffer_address () const [inline]
Buffer address (as const), e.g. to send data.
Definition at line 125 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::my_buffer.
9.7.4.12 template<typename Base_t> void GMPI::buffer_t< Base_t >::free ()[inline]
Explicit memory release.
Definition at line 128 of file gmpi.hpp.
References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_pos, GMPI::buffer_t< Base_t >::read_write, and GMPI::buffer_t< Base_t>::write_pos.
9.7.5 Member Data Documentation
9.7.5.1 template<typename Base_t> MPI::Datatype GMPI::buffer_t< Base_t>::mpi_t
MPI data type used in operations.
Definition at line 50 of file gmpi.hpp.
Referenced by GMPI::Intracomm::Bcast(), GMPI::Comm::Recv(), andGMPI::Comm::Send().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.7 GMPI::buffer_t< Base_t > Class Template Reference 233
9.7.5.2 template<typename Base_t> const int GMPI::buffer_t< Base_t>::base_t_size
Base type’s size in byte.
Definition at line 51 of file gmpi.hpp.
Referenced by GMPI::buffer_t< Base_t >::load(), and GMPI::buffer_t< Base_-t >::store().
9.7.5.3 template<typename Base_t> vector<Base_t> GMPI::buffer_t< Base_t>::my_buffer [private]
Definition at line 53 of file gmpi.hpp.
Referenced by GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_-t >::buffer_address(), GMPI::buffer_t< Base_t >::free(), GMPI::buffer_t< Base_-t >::load(), GMPI::buffer_t< Base_t >::read(), GMPI::buffer_t< Base_t >::reserve(),GMPI::buffer_t< Base_t >::size(), GMPI::buffer_t< Base_t >::store(), andGMPI::buffer_t< Base_t >::write().
9.7.5.4 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::write_pos [mutable, private]
Definition at line 54 of file gmpi.hpp.
Referenced by GMPI::buffer_t< Base_t >::empty(), GMPI::buffer_t< Base_-t >::free(), GMPI::buffer_t< Base_t >::remaining(), GMPI::buffer_t< Base_-t >::reserve(), GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t< Base_-t >::write().
9.7.5.5 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::read_pos [mutable, private]
Definition at line 54 of file gmpi.hpp.
Referenced by GMPI::buffer_t< Base_t >::empty(), GMPI::buffer_t< Base_-t >::free(), GMPI::buffer_t< Base_t >::load(), GMPI::buffer_t< Base_t >::read(),GMPI::buffer_t< Base_t >::remaining(), and GMPI::buffer_t< Base_t >::unread().
9.7.5.6 template<typename Base_t> bool GMPI::buffer_t< Base_t>::read_write [mutable, private]
Definition at line 56 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
234 angel Class Documentation
Referenced by GMPI::buffer_t< Base_t >::free(), GMPI::buffer_t< Base_t>::load(), GMPI::buffer_t< Base_t >::read(), GMPI::buffer_t< Base_t >::reserve(),GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t< Base_t >::write().
The documentation for this class was generated from the following file:
• angel/include/gmpi.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 235
9.8 angel::c_graph_t Class Reference
C-graph type.
#include <angel_types.hpp>
Public Types
• typedef pure_c_graph_t pure_graph_tType of basic type from BGL.
• typedef pure_c_graph_t::vertex_descriptor vertex_tVertex type.
• typedef pure_c_graph_t::edge_descriptor edge_tEdge type.
• typedef boost::graph_traits< pure_c_graph_t >::vertex_iterator vi_tVertex iterator type.
• typedef boost::graph_traits< pure_c_graph_t >::edge_iterator ei_tEdge iterator type.
• typedef boost::graph_traits< pure_c_graph_t >::in_edge_iterator iei_tIterator type of a vertex’s incoming edges.
• typedef boost::graph_traits< pure_c_graph_t >::out_edge_iterator oei_tIterator type of a vertex’s outgoing edges.
• typedef boost::property_map< pure_c_graph_t, boost::edge_weight_t>::const_type const_ew_t
Type of property edge label for const c_graph_t.
• typedef boost::property_map< pure_c_graph_t, boost::edge_weight_t >::typeew_t
Type of property edge label for non-const c_graph_t.
• typedef boost::property_map< pure_c_graph_t, boost::edge_index_t >::const_-type const_eind_t
Type of property edge index for const c_graph_t.
• typedef boost::property_map< pure_c_graph_t, boost::edge_index_t >::typeeind_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
236 angel Class Documentation
Type of property edge index for non-const c_graph_t.
• typedef boost::property_map< pure_c_graph_t, EdgeType >::const_typeconst_etype_t
Type of property edge isUnit for const c_graph_t.
• typedef boost::property_map< pure_c_graph_t, EdgeType >::type etype_t
Type of property edge isUnit for non-const c_graph_t.
Public Member Functions
• c_graph_t ()
Default constructor.
• c_graph_t (int V_, int X_, const std::vector< vertex_t > &deps)
Constructor with vertex specification.
• c_graph_t (int X_, int Z_, int Y_)
Constructor with vertex specification.
• c_graph_t (const c_graph_t &_g)
Copy constructor.
• c_graph_t & operator= (const c_graph_t &_g)
Assign operator.
• void swap (c_graph_t &_g)
Swap.
• int x () const
Number of independent variables.
• void x (int x)
Number of independent variables.
• int y () const
Number of dependent variables.
• int v () const
Number of variables.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 237
• int z () const
Number of intermediate vertices.
• enum vertex_type_t vertex_type (vertex_t ve) const
Vertex type of v.
• bool check () const
Check consistency of graph.
• bool check_initial () const
Check consistency of initial graph.
• void remove_dependents_with_successors ()
Change dependent vertices with successor into intermediate vertices.
• void clear_edges ()
Removes edges explicitly.
• void clear_graph ()
Remove all vertices that are not connected to dependent and inpedendent vertices.
Public Attributes
• int next_edge_number
useful for insertion of new edges
• std::vector< vertex_t > dependents
set of dependent vertices
Private Attributes
• int X
Friends
• int read_graph_eliad (const std::string &file_name, c_graph_t &cg, bool retry)• void stats2block (int inputs, int outputs, const std::vector< c_graph_t > &stats,
c_graph_t &block)
Build a block from a list of statements.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
238 angel Class Documentation
• void block2loop (const c_graph_t &block, int loops, c_graph_t &loop)
Generates a DAG that represents a loop over the block.
• void unpack_graph (const graph_package_t &gp, c_graph_t &cg)• void read_graph_xaif_booster (const xaifBoosterCrossCountryInter-
face::LinearizedComputationalGraph &xg, c_graph_t &cg, std::vector<const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphVertex∗ > &av, std::vector< edge_address_t > &ev)
9.8.1 Detailed Description
C-graph type.
Definition at line 79 of file angel_types.hpp.
9.8.2 Member Typedef Documentation
9.8.2.1 typedef pure_c_graph_t angel::c_graph_t::pure_graph_t
Type of basic type from BGL.
Definition at line 84 of file angel_types.hpp.
9.8.2.2 typedef pure_c_graph_t::vertex_descriptor angel::c_graph_t::vertex_t
Vertex type.
Definition at line 86 of file angel_types.hpp.
9.8.2.3 typedef pure_c_graph_t::edge_descriptor angel::c_graph_t::edge_t
Edge type.
Definition at line 88 of file angel_types.hpp.
9.8.2.4 typedef boost::graph_traits<pure_c_graph_t>::vertex_iteratorangel::c_graph_t::vi_t
Vertex iterator type.
Definition at line 90 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 239
9.8.2.5 typedef boost::graph_traits<pure_c_graph_t>::edge_iteratorangel::c_graph_t::ei_t
Edge iterator type.
Definition at line 92 of file angel_types.hpp.
9.8.2.6 typedef boost::graph_traits<pure_c_graph_t>::in_edge_iteratorangel::c_graph_t::iei_t
Iterator type of a vertex’s incoming edges.
Definition at line 94 of file angel_types.hpp.
9.8.2.7 typedef boost::graph_traits<pure_c_graph_t>::out_edge_iteratorangel::c_graph_t::oei_t
Iterator type of a vertex’s outgoing edges.
Definition at line 96 of file angel_types.hpp.
9.8.2.8 typedef boost::property_map<pure_c_graph_t,boost::edge_weight_t>::const_type angel::c_graph_t::const_ew_t
Type of property edge label for const c_graph_t.
Definition at line 98 of file angel_types.hpp.
9.8.2.9 typedef boost::property_map<pure_c_graph_t,boost::edge_weight_t>::type angel::c_graph_t::ew_t
Type of property edge label for non-const c_graph_t.
Definition at line 100 of file angel_types.hpp.
9.8.2.10 typedef boost::property_map<pure_c_graph_t,boost::edge_index_t>::const_type angel::c_graph_t::const_eind_t
Type of property edge index for const c_graph_t.
Definition at line 102 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
240 angel Class Documentation
9.8.2.11 typedef boost::property_map<pure_c_graph_t,boost::edge_index_t>::type angel::c_graph_t::eind_t
Type of property edge index for non-const c_graph_t.
Definition at line 104 of file angel_types.hpp.
9.8.2.12 typedef boost::property_map<pure_c_graph_t,EdgeType>::const_type angel::c_graph_t::const_etype_t
Type of property edge isUnit for const c_graph_t.
Definition at line 106 of file angel_types.hpp.
9.8.2.13 typedef boost::property_map<pure_c_graph_t, EdgeType>::typeangel::c_graph_t::etype_t
Type of property edge isUnit for non-const c_graph_t.
Definition at line 108 of file angel_types.hpp.
9.8.3 Constructor & Destructor Documentation
9.8.3.1 angel::c_graph_t::c_graph_t () [inline]
Default constructor.
Definition at line 115 of file angel_types.hpp.
9.8.3.2 angel::c_graph_t::c_graph_t (int V_, int X_, const std::vector< vertex_t> & deps) [inline]
Constructor with vertex specification.
Parameters:
V_ number of all vertices
X_ number of independent vertices
deps set of dependent vertices
Definition at line 123 of file angel_types.hpp.
References dependents, and THROW_EXCEPT_MACRO.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 241
9.8.3.3 angel::c_graph_t::c_graph_t (int X_, int Z_, int Y_) [inline]
Constructor with vertex specification.
Parameters:
X_ number of independent vertices
Z_ number of intermediated vertices
Y_ number of dependent vertices, will be located at the end
Definition at line 140 of file angel_types.hpp.
References dependents.
9.8.3.4 angel::c_graph_t::c_graph_t (const c_graph_t & _g) [inline]
Copy constructor.
Definition at line 151 of file angel_types.hpp.
9.8.4 Member Function Documentation
9.8.4.1 c_graph_t& angel::c_graph_t::operator= (const c_graph_t & _g)[inline]
Assign operator.
Definition at line 156 of file angel_types.hpp.
References clear_edges(), dependents, next_edge_number, and X.
Here is the call graph for this function:
angel::c_graph_t::operator= angel::c_graph_t::clear_edges
9.8.4.2 void angel::c_graph_t::swap (c_graph_t & _g) [inline]
Swap.
Definition at line 164 of file angel_types.hpp.
References dependents, next_edge_number, and X.
Referenced by angel::permutate_vertices(), angel::random_statement(), angel::read_-graph_eliad(), angel::remove_parallel_edges(), and angel::stats2block().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
242 angel Class Documentation
9.8.4.3 int angel::c_graph_t::x () const [inline]
Number of independent variables.
Definition at line 169 of file angel_types.hpp.
References X.
Referenced by angel::block2loop(), angel::fme_obj(), angel::in_out_path_lengths(),angel::independent_vertices_to_front(), angel::line_graph_t::line_graph_t(),angel::number_independent_vertices(), angel::operator==(), angel::ourLCG_-to_angelLCG(), angel::permutate_vertices(), angel::remove_parallel_edges(),angel::rme_obj(), angel::stats2block(), and z().
9.8.4.4 void angel::c_graph_t::x (int x) [inline]
Number of independent variables.
Definition at line 170 of file angel_types.hpp.
References X.
9.8.4.5 int angel::c_graph_t::y () const [inline]
Number of dependent variables.
Definition at line 171 of file angel_types.hpp.
References dependents.
Referenced by angel::block2loop(), angel::line_graph_t::line_graph_t(), an-gel::operator==(), and z().
9.8.4.6 int angel::c_graph_t::v () const [inline]
Number of variables.
Definition at line 172 of file angel_types.hpp.
Referenced by angel::block2loop(), clear_graph(), angel::independent_vertices_to_-front(), angel::minimal_markowitz_degree(), angel::operator==(), angel::permutate_-vertices(), angel::remove_parallel_edges(), angel::stats2block(), angel::take_over_-successors(), vertex_type(), and z().
9.8.4.7 int angel::c_graph_t::z () const [inline]
Number of intermediate vertices.
Definition at line 173 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 243
References v(), x(), and y().
Referenced by angel::operator==().
Here is the call graph for this function:
angel::c_graph_t::z
angel::c_graph_t::v
angel::c_graph_t::x
angel::c_graph_t::y
9.8.4.8 enum vertex_type_t angel::c_graph_t::vertex_type (vertex_t ve) const[inline]
Vertex type of v.
Definition at line 176 of file angel_types.hpp.
References angel::dead_vertex, angel::dependent, dependents, angel::independent, an-gel::intermediate, angel::undefined_vertex, v(), and X.
Referenced by angel::back_edge_elimination(), check(), check_initial(),angel::eliminatable_vertices(), angel::front_edge_elimination(), angel::remove_-hoisting_vertices(), angel::remove_trivial_edges(), and angel::semi_eliminatable_-vertices().
Here is the call graph for this function:
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.8.4.9 bool angel::c_graph_t::check () const
Check consistency of graph.
Definition at line 22 of file angel_types.cpp.
References angel::dependent, angel::independent, vertex_type(), and angel::write_-graph().
Referenced by check_initial().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
244 angel Class Documentation
Here is the call graph for this function:
angel::c_graph_t::check
angel::c_graph_t::vertex_type
angel::write_graph
angel::c_graph_t::v
angel::write_vector
9.8.4.10 bool angel::c_graph_t::check_initial () const
Check consistency of initial graph.
Definition at line 55 of file angel_types.cpp.
References check(), angel::dependent, angel::independent, and vertex_type().
Referenced by angel::read_graph_eliad().
Here is the call graph for this function:
angel::c_graph_t::check_initial
angel::c_graph_t::check
angel::c_graph_t::vertex_type
angel::write_graph
angel::c_graph_t::v
angel::write_vector
9.8.4.11 void angel::c_graph_t::remove_dependents_with_successors ()
Change dependent vertices with successor into intermediate vertices.
Definition at line 71 of file angel_types.cpp.
References dependents.
9.8.4.12 void angel::c_graph_t::clear_edges () [inline]
Removes edges explicitly.
Note:
It seems that BGL does not remove all edges in assignment.
Definition at line 192 of file angel_types.hpp.
Referenced by operator=().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 245
9.8.4.13 void angel::c_graph_t::clear_graph ()
Remove all vertices that are not connected to dependent and inpedendent vertices.
Definition at line 80 of file angel_types.cpp.
References dependents, angel::reachable_vertices(), angel::relevant_vertices(), v(),and X.
Referenced by angel::block2loop().
Here is the call graph for this function:
angel::c_graph_t::clear_graph
angel::reachable_vertices
angel::relevant_vertices
angel::c_graph_t::v
9.8.5 Friends And Related Function Documentation
9.8.5.1 int read_graph_eliad (const std::string & file_name, c_graph_t & cg,bool retry) [friend]
9.8.5.2 void stats2block (int inputs, int outputs, const std::vector< c_graph_t >& stats, c_graph_t & block) [friend]
Build a block from a list of statements.
Parameters:
inputs The number of the block’s inputs
outputs The number of the block’s outputs
stats List of statements
block The resulting block
9.8.5.3 void block2loop (const c_graph_t & block, int loops, c_graph_t & loop)[friend]
Generates a DAG that represents a loop over the block.
Parameters:
block The used block
loops The number of loops
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
246 angel Class Documentation
loop The resulting loop DAG
9.8.5.4 void unpack_graph (const graph_package_t & gp, c_graph_t & cg)[friend]
9.8.5.5 void read_graph_xaif_booster (const xaifBoosterCrossCountry-Interface::LinearizedComputationalGraph & xg, c_graph_t& cg, std::vector< const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphVertex ∗ > & av, std::vector<edge_address_t > & ev) [friend]
9.8.6 Member Data Documentation
9.8.6.1 int angel::c_graph_t::X [private]
Definition at line 81 of file angel_types.hpp.
Referenced by angel::block2loop(), clear_graph(), operator=(), angel::read_graph_-eliad(), angel::read_graph_xaif_booster(), swap(), vertex_type(), and x().
9.8.6.2 int angel::c_graph_t::next_edge_number
useful for insertion of new edges
Definition at line 110 of file angel_types.hpp.
Referenced by angel::back_edge_elimination(), angel::block2loop(),angel::front_edge_elimination(), angel::multiply_edge_pair_directly(), opera-tor=(), angel::pair_elim(), angel::pairElim_noJAE(), angel::postroute_edge_-directly(), angel::postrouteEdge_noJAE(), angel::preroute_edge_directly(),angel::prerouteEdge_noJAE(), and swap().
9.8.6.3 std::vector<vertex_t> angel::c_graph_t::dependents
set of dependent vertices
Definition at line 112 of file angel_types.hpp.
Referenced by angel::block2loop(), c_graph_t(), clear_graph(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex(),angel::line_graph_t::line_graph_t(), angel::number_dependent_vertices(), operator=(),angel::operator==(), angel::ourLCG_to_angelLCG(), angel::permutate_vertices(),angel::read_graph_eliad(), angel::read_graph_xaif_booster(), remove_dependents_-with_successors(), angel::remove_parallel_edges(), angel::stats2block(), swap(),angel::vertex_eliminatable(), vertex_type(), and y().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.8 angel::c_graph_t Class Reference 247
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
248 angel Class Documentation
9.9 GMPI::Comm Class Reference
#include <gmpi.hpp>
Inheritance diagram for GMPI::Comm:
GMPI::Comm
GMPI::Intracomm
Public Member Functions
• Comm (const MPI::Intracomm &mpi_comm)• MPI::Intracomm & mpi_comm_ref ()• const MPI::Intracomm & mpi_comm_ref () const• template<typename Comm_ref_t>
void Send (const Comm_ref_t &data, int dest, int tag) const
Send data to dest marked with tag.
• template<typename Comm_ref_t>void Recv (Comm_ref_t &data, int source, int tag, MPI::Status &status) const
• int Get_size () const• int Get_rank () const
Protected Attributes
• MPI::Intracomm my_comm
9.9.1 Detailed Description
Definition at line 240 of file gmpi.hpp.
9.9.2 Constructor & Destructor Documentation
9.9.2.1 GMPI::Comm::Comm (const MPI::Intracomm & mpi_comm)[inline]
Definition at line 244 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.9 GMPI::Comm Class Reference 249
9.9.3 Member Function Documentation
9.9.3.1 MPI::Intracomm& GMPI::Comm::mpi_comm_ref () [inline]
Definition at line 246 of file gmpi.hpp.
References my_comm.
9.9.3.2 const MPI::Intracomm& GMPI::Comm::mpi_comm_ref () const[inline]
Definition at line 247 of file gmpi.hpp.
References my_comm.
9.9.3.3 template<class Comm_ref_t> void GMPI::Comm::Send (constComm_ref_t & data, int dest, int tag) const [inline]
Send data to dest marked with tag.
Definition at line 6 of file gmpi_impl.hpp.
References GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_t >::mpi_t,my_comm, and GMPI::buffer_t< Base_t >::size().
Here is the call graph for this function:
GMPI::Comm::Send
GMPI::buffer_t::address
GMPI::buffer_t::size
9.9.3.4 template<class Comm_ref_t> void GMPI::Comm::Recv (Comm_ref_t& data, int source, int tag, MPI::Status & status) const [inline]
Definition at line 16 of file gmpi_impl.hpp.
References GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_t >::mpi_t,my_comm, and GMPI::buffer_t< Base_t >::reserve().
Here is the call graph for this function:
GMPI::Comm::Recv
GMPI::buffer_t::address
GMPI::buffer_t::reserve
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
250 angel Class Documentation
9.9.3.5 int GMPI::Comm::Get_size () const [inline]
Definition at line 256 of file gmpi.hpp.
References my_comm.
9.9.3.6 int GMPI::Comm::Get_rank () const [inline]
Definition at line 258 of file gmpi.hpp.
References my_comm.
Referenced by GMPI::Intracomm::Bcast().
9.9.4 Member Data Documentation
9.9.4.1 MPI::Intracomm GMPI::Comm::my_comm [protected]
Definition at line 242 of file gmpi.hpp.
Referenced by GMPI::Intracomm::Allreduce(), GMPI::Intracomm::Barrier(),GMPI::Intracomm::Bcast(), GMPI::Intracomm::Gather(), Get_rank(), Get_size(),mpi_comm_ref(), Recv(), and Send().
The documentation for this class was generated from the following files:
• angel/include/gmpi.hpp• angel/include/gmpi_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.10 GMPI::comm_ref_t< Base_t, Object_t > Class Template Reference 251
9.10 GMPI::comm_ref_t< Base_t, Object_t > ClassTemplate Reference
#include <gmpi.hpp>
Public Types
• typedef Base_t base_t• typedef Object_t object_t
Public Member Functions
• comm_ref_t (object_t &o)• object_t & object_ref ()• const object_t & object_ref () const
Private Attributes
• object_t & my_object_ref
9.10.1 Detailed Description
template<typename Base_t, typename Object_t> class GMPI::comm_ref_t<Base_t, Object_t >
Definition at line 228 of file gmpi.hpp.
9.10.2 Member Typedef Documentation
9.10.2.1 template<typename Base_t, typename Object_t> typedef Base_tGMPI::comm_ref_t< Base_t, Object_t >::base_t
Definition at line 230 of file gmpi.hpp.
9.10.2.2 template<typename Base_t, typename Object_t> typedef Object_tGMPI::comm_ref_t< Base_t, Object_t >::object_t
Definition at line 231 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
252 angel Class Documentation
9.10.3 Constructor & Destructor Documentation
9.10.3.1 template<typename Base_t, typename Object_t>GMPI::comm_ref_t< Base_t, Object_t >::comm_ref_t (object_t & o)[inline]
Definition at line 235 of file gmpi.hpp.
9.10.4 Member Function Documentation
9.10.4.1 template<typename Base_t, typename Object_t> object_t&GMPI::comm_ref_t< Base_t, Object_t >::object_ref () [inline]
Definition at line 236 of file gmpi.hpp.
References GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref.
9.10.4.2 template<typename Base_t, typename Object_t> const object_t&GMPI::comm_ref_t< Base_t, Object_t >::object_ref () const[inline]
Definition at line 237 of file gmpi.hpp.
References GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref.
9.10.5 Member Data Documentation
9.10.5.1 template<typename Base_t, typename Object_t> object_t&GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref[private]
Definition at line 233 of file gmpi.hpp.
Referenced by GMPI::comm_ref_t< Base_t, Object_t >::object_ref().
The documentation for this class was generated from the following file:
• angel/include/gmpi.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.11 angel::consistency_exception Class Reference 253
9.11 angel::consistency_exception Class Reference
#include <angel_exceptions.hpp>
Inheritance diagram for angel::consistency_exception:
angel::consistency_exception
angel::base_exception
Collaboration diagram for angel::consistency_exception:
angel::consistency_exception
angel::base_exception
string
reason
Public Member Functions
• consistency_exception (std::string filename, int linenumber, std::string what)
9.11.1 Detailed Description
Definition at line 34 of file angel_exceptions.hpp.
9.11.2 Constructor & Destructor Documentation
9.11.2.1 angel::consistency_exception::consistency_exception (std::stringfilename, int linenumber, std::string what) [inline]
Definition at line 36 of file angel_exceptions.hpp.
The documentation for this class was generated from the following file:
• angel/include/angel_exceptions.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
254 angel Class Documentation
9.12 angel::dec_greater< vertex_t > Struct TemplateReference
#include <angel_tools.hpp>
Collaboration diagram for angel::dec_greater< vertex_t >:
angel::dec_greater< vertex_t >
vertex_t
vc
Public Member Functions
• dec_greater (vertex_t _vc)• void operator() (vertex_t &v)
Public Attributes
• vertex_t vc
9.12.1 Detailed Description
template<typename vertex_t> struct angel::dec_greater< vertex_t >
Definition at line 862 of file angel_tools.hpp.
9.12.2 Constructor & Destructor Documentation
9.12.2.1 template<typename vertex_t> angel::dec_greater< vertex_t>::dec_greater (vertex_t _vc) [inline]
Definition at line 864 of file angel_tools.hpp.
9.12.3 Member Function Documentation
9.12.3.1 template<typename vertex_t> void angel::dec_greater< vertex_t>::operator() (vertex_t & v) [inline]
Definition at line 865 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.12 angel::dec_greater< vertex_t > Struct Template Reference 255
References angel::dec_greater< vertex_t >::vc.
9.12.4 Member Data Documentation
9.12.4.1 template<typename vertex_t> vertex_t angel::dec_greater< vertex_t>::vc
Definition at line 863 of file angel_tools.hpp.
Referenced by angel::dec_greater< vertex_t >::operator()().
The documentation for this struct was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
256 angel Class Documentation
9.13 angel::diste_op_t Struct Reference
Public Member Functions
• int operator() (edge_bool_t eb, const c_graph_t &cg)
9.13.1 Detailed Description
Definition at line 814 of file heuristics.cpp.
9.13.2 Member Function Documentation
9.13.2.1 int angel::diste_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]
Definition at line 815 of file heuristics.cpp.
References angel::predecessor_set(), angel::successor_set(), and THROW_DEBUG_-EXCEPT_MACRO.
Here is the call graph for this function:
angel::diste_op_t::operator()
angel::predecessor_set
angel::successor_set
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.14 angel::distf_op_t Struct Reference 257
9.14 angel::distf_op_t Struct Reference
Public Member Functions
• int operator() (line_graph_t::face_t f, const line_graph_t &lg)
9.14.1 Detailed Description
Definition at line 1109 of file heuristics.cpp.
9.14.2 Member Function Documentation
9.14.2.1 int angel::distf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]
Definition at line 1110 of file heuristics.cpp.
References angel::face_vertex_name().
Here is the call graph for this function:
angel::distf_op_t::operator() angel::face_vertex_name
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
258 angel Class Documentation
9.15 angel::edge_address_t Struct Reference
Public Member Functions
• edge_address_t (int _i, int _j, const LinearizedComputationalGraphEdge ∗_-address)
Public Attributes
• ad_edge_t e• const LinearizedComputationalGraphEdge ∗ address
9.15.1 Detailed Description
Definition at line 26 of file xaif_interface.cpp.
9.15.2 Constructor & Destructor Documentation
9.15.2.1 angel::edge_address_t::edge_address_t (int _i, int _j, constLinearizedComputationalGraphEdge ∗ _address) [inline]
Definition at line 29 of file xaif_interface.cpp.
9.15.3 Member Data Documentation
9.15.3.1 ad_edge_t angel::edge_address_t::e
Definition at line 27 of file xaif_interface.cpp.
9.15.3.2 const LinearizedComputationalGraphEdge∗angel::edge_address_t::address
Definition at line 28 of file xaif_interface.cpp.
The documentation for this struct was generated from the following file:
• angel/src/xaif_interface.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.16 angel::edge_elim_t Struct Reference 259
9.16 angel::edge_elim_t Struct Reference
Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.
#include <angel_types.hpp>
Public Attributes
• c_graph_t::edge_t edge• bool front
9.16.1 Detailed Description
Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.
Definition at line 567 of file angel_types.hpp.
9.16.2 Member Data Documentation
9.16.2.1 c_graph_t::edge_t angel::edge_elim_t::edge
Definition at line 568 of file angel_types.hpp.
9.16.2.2 bool angel::edge_elim_t::front
Definition at line 569 of file angel_types.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
260 angel Class Documentation
9.17 angel::edge_equal_t< Ad_graph_t > Struct Tem-plate Reference
Compares edges of different graphs.
#include <angel_tools.hpp>
Collaboration diagram for angel::edge_equal_t< Ad_graph_t >:
angel::edge_equal_t< Ad_graph_t >
Ad_graph_t
g1g2
Public Member Functions
• edge_equal_t (const Ad_graph_t &_g1, const Ad_graph_t &_g2)
Both graphs are given in the constructor.
• bool operator() (typename Ad_graph_t::edge_descriptor e1, typename Ad_-graph_t::edge_descriptor e2)
Tests whether e1 and e2 have same source and target.
Public Attributes
• const Ad_graph_t & g1
• const Ad_graph_t & g2
9.17.1 Detailed Description
template<typename Ad_graph_t> struct angel::edge_equal_t< Ad_graph_t >
Compares edges of different graphs.
Definition at line 354 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.17 angel::edge_equal_t< Ad_graph_t > Struct Template Reference 261
9.17.2 Constructor & Destructor Documentation
9.17.2.1 template<typename Ad_graph_t> angel::edge_equal_t< Ad_graph_t>::edge_equal_t (const Ad_graph_t & _g1, const Ad_graph_t & _g2)[inline]
Both graphs are given in the constructor.
Definition at line 359 of file angel_tools.hpp.
9.17.3 Member Function Documentation
9.17.3.1 template<typename Ad_graph_t> bool angel::edge_equal_t<Ad_graph_t >::operator() (typename Ad_graph_t::edge_descriptore1, typename Ad_graph_t::edge_descriptor e2) [inline]
Tests whether e1 and e2 have same source and target.
Definition at line 362 of file angel_tools.hpp.
References angel::edge_equal_t< Ad_graph_t >::g1, and angel::edge_equal_t< Ad_-graph_t >::g2.
9.17.4 Member Data Documentation
9.17.4.1 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_equal_t< Ad_graph_t >::g1
Definition at line 356 of file angel_tools.hpp.
Referenced by angel::edge_equal_t< Ad_graph_t >::operator()().
9.17.4.2 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_equal_t< Ad_graph_t >::g2
Definition at line 357 of file angel_tools.hpp.
Referenced by angel::edge_equal_t< Ad_graph_t >::operator()().
The documentation for this struct was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
262 angel Class Documentation
9.18 angel::edge_ij_elim_heuristic_t< Edge_-heuristic_t > Class Template Reference
Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).
#include <heuristics.hpp>
Collaboration diagram for angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >:
angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >
Edge_heuristic_t
h
Public Member Functions
• edge_ij_elim_heuristic_t (Edge_heuristic_t _h)Constructor stores the face-based heuristic to be used.
• int operator() (const vector< edge_ij_elim_t > &eev1, const c_graph_t &cg,vector< edge_ij_elim_t > &eev2)
Private Attributes
• Edge_heuristic_t h
9.18.1 Detailed Description
template<class Edge_heuristic_t> class angel::edge_ij_elim_heuristic_t< Edge_-heuristic_t >
Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).
Definition at line 1009 of file heuristics.hpp.
9.18.2 Constructor & Destructor Documentation
9.18.2.1 template<class Edge_heuristic_t> angel::edge_ij_elim_heuristic_t<Edge_heuristic_t >::edge_ij_elim_heuristic_t (Edge_heuristic_t _h)[inline]
Constructor stores the face-based heuristic to be used.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.18 angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > Class TemplateReference 263
Definition at line 1013 of file heuristics.hpp.
9.18.3 Member Function Documentation
9.18.3.1 template<class Edge_heuristic_t> int angel::edge_ij_elim_heuristic_-t< Edge_heuristic_t >::operator() (const vector< edge_ij_elim_t >& eev1, const c_graph_t & cg, vector< edge_ij_elim_t > & eev2)[inline]
Definition at line 1014 of file heuristics.hpp.
References angel::edge(), and angel::edge_ij_elim_heuristic_t< Edge_heuristic_-t >::h.
Here is the call graph for this function:
angel::edge_ij_elim_heuristic_t::operator() angel::edge
9.18.4 Member Data Documentation
9.18.4.1 template<class Edge_heuristic_t> Edge_heuristic_tangel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::h [private]
Definition at line 1010 of file heuristics.hpp.
Referenced by angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::operator()().
The documentation for this class was generated from the following file:
• angel/include/heuristics.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
264 angel Class Documentation
9.19 angel::edge_ij_elim_t Struct Reference
#include <angel_types.hpp>
Public Member Functions
• edge_ij_elim_t (int _i, int _j, bool _front)• edge_ij_elim_t ()
Public Attributes
• int i• int j• bool front
9.19.1 Detailed Description
Edge from vertex with number i to vertex with number j to eliminate from c-graphand whether it should be front or back eliminated
Definition at line 585 of file angel_types.hpp.
9.19.2 Constructor & Destructor Documentation
9.19.2.1 angel::edge_ij_elim_t::edge_ij_elim_t (int _i, int _j, bool _front)[inline]
Definition at line 588 of file angel_types.hpp.
9.19.2.2 angel::edge_ij_elim_t::edge_ij_elim_t () [inline]
Definition at line 589 of file angel_types.hpp.
9.19.3 Member Data Documentation
9.19.3.1 int angel::edge_ij_elim_t::i
Definition at line 586 of file angel_types.hpp.
Referenced by angel::edge_elimination(), and angel::operator<<().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.19 angel::edge_ij_elim_t Struct Reference 265
9.19.3.2 int angel::edge_ij_elim_t::j
Definition at line 586 of file angel_types.hpp.
Referenced by angel::edge_elimination(), and angel::operator<<().
9.19.3.3 bool angel::edge_ij_elim_t::front
Definition at line 587 of file angel_types.hpp.
Referenced by angel::edge_elimination(), angel::eliminatable_edges(), andangel::operator<<().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
266 angel Class Documentation
9.20 angel::edge_less_t< Ad_graph_t > Struct Tem-plate Reference
Compares edges of different graphs (lexicographically).
#include <angel_tools.hpp>
Collaboration diagram for angel::edge_less_t< Ad_graph_t >:
angel::edge_less_t< Ad_graph_t >
Ad_graph_t
g1g2
Public Member Functions
• edge_less_t (const Ad_graph_t &_g1, const Ad_graph_t &_g2)
Both graphs are given in the constructor.
• bool operator() (typename Ad_graph_t::edge_descriptor e1, typename Ad_-graph_t::edge_descriptor e2)
Returns whether e1 is lexicographically less than e2 w.r.t. source and target.
Public Attributes
• const Ad_graph_t & g1
• const Ad_graph_t & g2
9.20.1 Detailed Description
template<typename Ad_graph_t> struct angel::edge_less_t< Ad_graph_t >
Compares edges of different graphs (lexicographically).
Definition at line 370 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.20 angel::edge_less_t< Ad_graph_t > Struct Template Reference 267
9.20.2 Constructor & Destructor Documentation
9.20.2.1 template<typename Ad_graph_t> angel::edge_less_t< Ad_graph_t>::edge_less_t (const Ad_graph_t & _g1, const Ad_graph_t & _g2)[inline]
Both graphs are given in the constructor.
Definition at line 375 of file angel_tools.hpp.
9.20.3 Member Function Documentation
9.20.3.1 template<typename Ad_graph_t> bool angel::edge_less_t<Ad_graph_t >::operator() (typename Ad_graph_t::edge_descriptore1, typename Ad_graph_t::edge_descriptor e2) [inline]
Returns whether e1 is lexicographically less than e2 w.r.t. source and target.
Definition at line 378 of file angel_tools.hpp.
References angel::edge_less_t< Ad_graph_t >::g1, and angel::edge_less_t< Ad_-graph_t >::g2.
9.20.4 Member Data Documentation
9.20.4.1 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_less_t< Ad_graph_t >::g1
Definition at line 372 of file angel_tools.hpp.
Referenced by angel::edge_less_t< Ad_graph_t >::operator()().
9.20.4.2 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_less_t< Ad_graph_t >::g2
Definition at line 373 of file angel_tools.hpp.
Referenced by angel::edge_less_t< Ad_graph_t >::operator()().
The documentation for this struct was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
268 angel Class Documentation
9.21 angel::edge_pair_elim_t Struct Reference
#include <angel_types.hpp>
Public Attributes
• c_graph_t::vertex_t i• c_graph_t::vertex_t j• bool front
9.21.1 Detailed Description
Edge from vertex i to vertex j to eliminate from c-graph and whether it should befront or back eliminated
Definition at line 574 of file angel_types.hpp.
9.21.2 Member Data Documentation
9.21.2.1 c_graph_t::vertex_t angel::edge_pair_elim_t::i
Definition at line 575 of file angel_types.hpp.
Referenced by angel::operator<<().
9.21.2.2 c_graph_t::vertex_t angel::edge_pair_elim_t::j
Definition at line 575 of file angel_types.hpp.
Referenced by angel::operator<<().
9.21.2.3 bool angel::edge_pair_elim_t::front
Definition at line 576 of file angel_types.hpp.
Referenced by angel::operator<<().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.22 angel::edge_reroute_t Struct Reference 269
9.22 angel::edge_reroute_t Struct Reference
#include <angel_types.hpp>
Public Member Functions
• edge_reroute_t ()• edge_reroute_t (const c_graph_t::edge_t _e, const c_graph_t::edge_t _pivot_e,
bool _isPre)
Public Attributes
• c_graph_t::edge_t e• c_graph_t::edge_t pivot_e• bool isPre• bool pivot_eliminatable• bool increment_eliminatable• std::vector< c_graph_t::vertex_t > type3EdgeElimVector
9.22.1 Detailed Description
Definition at line 698 of file angel_types.hpp.
9.22.2 Constructor & Destructor Documentation
9.22.2.1 angel::edge_reroute_t::edge_reroute_t () [inline]
Definition at line 708 of file angel_types.hpp.
9.22.2.2 angel::edge_reroute_t::edge_reroute_t (const c_graph_t::edge_t _e,const c_graph_t::edge_t _pivot_e, bool _isPre) [inline]
Definition at line 710 of file angel_types.hpp.
References type3EdgeElimVector.
9.22.3 Member Data Documentation
9.22.3.1 c_graph_t::edge_t angel::edge_reroute_t::e
Definition at line 699 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
270 angel Class Documentation
Referenced by angel::postroute_edge_directly(), angel::postrouteEdge_noJAE(),angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(), angel::reducing_-reroutings(), angel::reroute_effect(), and angel::Rerouting::Rerouting().
9.22.3.2 c_graph_t::edge_t angel::edge_reroute_t::pivot_e
Definition at line 700 of file angel_types.hpp.
Referenced by angel::postroute_edge_directly(), angel::postrouteEdge_noJAE(),angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(), angel::reducing_-reroutings(), angel::reroute_effect(), and angel::Rerouting::Rerouting().
9.22.3.3 bool angel::edge_reroute_t::isPre
Definition at line 701 of file angel_types.hpp.
Referenced by angel::reducing_reroutings(), angel::reroute_effect(), and an-gel::Rerouting::Rerouting().
9.22.3.4 bool angel::edge_reroute_t::pivot_eliminatable [mutable]
Definition at line 703 of file angel_types.hpp.
Referenced by angel::reducing_reroutings().
9.22.3.5 bool angel::edge_reroute_t::increment_eliminatable [mutable]
Definition at line 704 of file angel_types.hpp.
Referenced by angel::reducing_reroutings().
9.22.3.6 std::vector<c_graph_t::vertex_t> angel::edge_reroute_-t::type3EdgeElimVector [mutable]
Definition at line 706 of file angel_types.hpp.
Referenced by edge_reroute_t(), and angel::reducing_reroutings().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.23 angel::edge_vertex_elim_t Struct Reference 271
9.23 angel::edge_vertex_elim_t Struct Reference
#include <eliminations.hpp>
Public Attributes
• line_graph_t::edge_t edge• bool front
9.23.1 Detailed Description
Edge edge (as node of line graph) to eliminate from c-graph and whether it should befront or back eliminated
Definition at line 250 of file eliminations.hpp.
9.23.2 Member Data Documentation
9.23.2.1 line_graph_t::edge_t angel::edge_vertex_elim_t::edge
Definition at line 251 of file eliminations.hpp.
9.23.2.2 bool angel::edge_vertex_elim_t::front
Definition at line 252 of file eliminations.hpp.
The documentation for this struct was generated from the following file:
• angel/include/eliminations.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
272 angel Class Documentation
9.24 angel::EdgeElim Class Reference
Graph-independent edge elimination.
#include <angel_types.hpp>
Public Member Functions
• EdgeElim ()• EdgeElim (const c_graph_t::edge_t &e, bool isFront, const c_graph_t &an-
gelLCG)• EdgeElim (const edge_bool_t &be, const c_graph_t &angelLCG)• EdgeElim (const edge_ij_elim_t &eij)• std::string debug () const• bool isFront () const• unsigned int getSource () const• unsigned int getTarget () const• c_graph_t::edge_t getE (const c_graph_t &angelLCG) const• edge_bool_t getBool (const c_graph_t &angelLCG) const• unsigned int getCost (const c_graph_t &angelLCG) const
returns cost (nontrivial mults) of performing this edge elim on angelLCG
Private Attributes
• bool myIsFrontFlag• unsigned int mySource• unsigned int myTarget
9.24.1 Detailed Description
Graph-independent edge elimination.
Class for representing an edge elimination. The edge is represented by the unsignedints that correspond to its source and target. This allows us to represent a reroutingindependently of a particular graph instance.
Definition at line 725 of file angel_types.hpp.
9.24.2 Constructor & Destructor Documentation
9.24.2.1 angel::EdgeElim::EdgeElim ()
Definition at line 459 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.24 angel::EdgeElim Class Reference 273
9.24.2.2 angel::EdgeElim::EdgeElim (const c_graph_t::edge_t & e, boolisFront, const c_graph_t & angelLCG)
Definition at line 462 of file angel_types.cpp.
9.24.2.3 angel::EdgeElim::EdgeElim (const edge_bool_t & be, const c_graph_t& angelLCG)
Definition at line 470 of file angel_types.cpp.
9.24.2.4 angel::EdgeElim::EdgeElim (const edge_ij_elim_t & eij)
Definition at line 477 of file angel_types.cpp.
9.24.3 Member Function Documentation
9.24.3.1 std::string angel::EdgeElim::debug () const
Definition at line 483 of file angel_types.cpp.
References myIsFrontFlag, mySource, and myTarget.
Referenced by angel::Transformation::debug().
9.24.3.2 bool angel::EdgeElim::isFront () const
Definition at line 491 of file angel_types.cpp.
References myIsFrontFlag.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::edge_elim_effect().
9.24.3.3 unsigned int angel::EdgeElim::getSource () const
Definition at line 495 of file angel_types.cpp.
References mySource.
9.24.3.4 unsigned int angel::EdgeElim::getTarget () const
Definition at line 499 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
274 angel Class Documentation
References myTarget.
9.24.3.5 c_graph_t::edge_t angel::EdgeElim::getE (const c_graph_t &angelLCG) const
Definition at line 503 of file angel_types.cpp.
References angel::getEdge(), mySource, and myTarget.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), angel::edge_elim_effect(), and getCost().
Here is the call graph for this function:
angel::EdgeElim::getE angel::getEdge angel::edge
9.24.3.6 edge_bool_t angel::EdgeElim::getBool (const c_graph_t & angelLCG)const
Definition at line 507 of file angel_types.cpp.
References angel::getEdge(), myIsFrontFlag, mySource, and myTarget.
Here is the call graph for this function:
angel::EdgeElim::getBool angel::getEdge angel::edge
9.24.3.7 unsigned int angel::EdgeElim::getCost (const c_graph_t & angelLCG)const
returns cost (nontrivial mults) of performing this edge elim on angelLCG
Definition at line 511 of file angel_types.cpp.
References getE(), myIsFrontFlag, mySource, myTarget, and angel::UNIT_EDGE.
Here is the call graph for this function:
angel::EdgeElim::getCost angel::EdgeElim::getE angel::getEdge angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.24 angel::EdgeElim Class Reference 275
9.24.4 Member Data Documentation
9.24.4.1 bool angel::EdgeElim::myIsFrontFlag [private]
Definition at line 756 of file angel_types.hpp.
Referenced by debug(), getBool(), getCost(), and isFront().
9.24.4.2 unsigned int angel::EdgeElim::mySource [private]
Definition at line 757 of file angel_types.hpp.
Referenced by debug(), getBool(), getCost(), getE(), and getSource().
9.24.4.3 unsigned int angel::EdgeElim::myTarget [private]
Definition at line 758 of file angel_types.hpp.
Referenced by debug(), getBool(), getCost(), getE(), and getTarget().
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
276 angel Class Documentation
9.25 angel::EdgeRef_t Struct Reference
#include <angel_types.hpp>
Public Member Functions
• EdgeRef_t (c_graph_t::edge_t _e, const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphEdge ∗_LCGedge_p)
• EdgeRef_t (c_graph_t::edge_t _e, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionVertex ∗_JAEvert_p)
Public Attributes
• c_graph_t::edge_t my_angelLCGedge
• EdgeRefType_E my_type
• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ my_LCG_edge_p
• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗my_JAE_vertex_p
9.25.1 Detailed Description
Definition at line 677 of file angel_types.hpp.
9.25.2 Constructor & Destructor Documentation
9.25.2.1 angel::EdgeRef_t::EdgeRef_t (c_graph_t::edge_t _e, const xaifBoost-erCrossCountryInterface::LinearizedComputationalGraphEdge ∗_LCGedge_p) [inline]
Definition at line 683 of file angel_types.hpp.
9.25.2.2 angel::EdgeRef_t::EdgeRef_t (c_graph_t::edge_t _e, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionVertex ∗_JAEvert_p) [inline]
Definition at line 690 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.25 angel::EdgeRef_t Struct Reference 277
9.25.3 Member Data Documentation
9.25.3.1 c_graph_t::edge_t angel::EdgeRef_t::my_angelLCGedge
Definition at line 678 of file angel_types.hpp.
9.25.3.2 EdgeRefType_E angel::EdgeRef_t::my_type
Definition at line 679 of file angel_types.hpp.
9.25.3.3 constxaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗angel::EdgeRef_t::my_LCG_edge_p
Definition at line 680 of file angel_types.hpp.
9.25.3.4 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex∗angel::EdgeRef_t::my_JAE_vertex_p
Definition at line 681 of file angel_types.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
278 angel Class Documentation
9.26 angel::EdgeType Struct Reference
#include <angel_types.hpp>
Public Types
• enum { num = 129 }• typedef boost::edge_property_tag kind
9.26.1 Detailed Description
Definition at line 43 of file angel_types.hpp.
9.26.2 Member Typedef Documentation
9.26.2.1 typedef boost::edge_property_tag angel::EdgeType::kind
Definition at line 45 of file angel_types.hpp.
9.26.3 Member Enumeration Documentation
9.26.3.1 anonymous enum
Enumerator:
num
Definition at line 44 of file angel_types.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 279
9.27 angel::elimination_history_t< Ad_graph_t, El_-spec_t > Class Template Reference
Elimination history.
#include <eliminations.hpp>
Collaboration diagram for angel::elimination_history_t< Ad_graph_t, El_spec_t >:
angel::elimination_history_t< Ad_graph_t, El_spec_t >
Ad_graph_t
cgog
Public Types
• typedef Ad_graph_t ad_graph_t• typedef El_spec_t el_spec_t
Public Member Functions
• elimination_history_t ()Default constructor.
• elimination_history_t (const Ad_graph_t &_cg)Constructor with empty sequence.
• elimination_history_t (const Ad_graph_t &_og, const vector< El_spec_t > &_-seq, const Ad_graph_t &_cg, int _ccosts=0)
Constructor.
• elimination_history_t (const Ad_graph_t &_og, const vector< El_spec_t > &_-seq)
Constructor.
• elimination_history_t (const elimination_history_t &eh)Copy constructor.
• elimination_history_t & operator= (const elimination_history_t &eh)Assign operator.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
280 angel Class Documentation
• void swap (elimination_history_t &eh)
Swap.
• int elimination (El_spec_t el)
Eliminate el from cg.
• bool check_sequence () const
Checks if og –seq–> cg.
• bool check () const
Checks if og –seq–> cg and consistency of both graphs.
• bool rebuild_graph ()
Rebuild cg from og and seq.
• template<typename Heuristic_t>void complete_sequence (Heuristic_t h)
Complete sequence by heuristic h.
Public Attributes
• const Ad_graph_t og
The original graph.
• vector< El_spec_t > seq
Elimination sequence.
• Ad_graph_t cg
Current graph.
• int ccosts
Current costs (og -> cg).
9.27.1 Detailed Description
template<typename Ad_graph_t, typename El_spec_t> classangel::elimination_history_t< Ad_graph_t, El_spec_t >
Elimination history.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 281
Stores a c- or line graph and an elimination sequence, where the application of thesequence to the original graph shall result in this graph. This class is introduced to usevertex, edge, and face elimination in LSA (see sa.hpp).
Definition at line 579 of file eliminations.hpp.
9.27.2 Member Typedef Documentation
9.27.2.1 template<typename Ad_graph_t, typename El_spec_t> typedefAd_graph_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::ad_graph_t
Definition at line 588 of file eliminations.hpp.
9.27.2.2 template<typename Ad_graph_t, typename El_spec_t> typedefEl_spec_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::el_spec_t
Definition at line 589 of file eliminations.hpp.
9.27.3 Constructor & Destructor Documentation
9.27.3.1 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t () [inline]
Default constructor.
Only for completeness, better not use.
Definition at line 595 of file eliminations.hpp.
9.27.3.2 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _cg) [inline]
Constructor with empty sequence.
Parameters:
_cg Graph, which is copied into og and cg
Definition at line 600 of file eliminations.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
282 angel Class Documentation
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andTHROW_EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.3.3 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _og, const vector<El_spec_t > & _seq, const Ad_graph_t & _cg, int _ccosts = 0)[inline]
Constructor.
Parameters:
_og Original line graph
_seq Elimination sequence
_cg Current line graph
_ccosts Current costs In debug mode it is checked if application of _seq to _ogyields _cg
Definition at line 611 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andTHROW_EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.3.4 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _og, const vector<El_spec_t > & _seq) [inline]
Constructor.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 283
Parameters:
_og Original line graph
_seq Elimination sequence
Current line graph _cg is built by application of _seq to _og
Definition at line 622 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::og,angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andTHROW_EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::elimination_history_t angel::elimination_history_t::rebuild_graph angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.3.5 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]
Copy constructor.
Definition at line 630 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, and THROW_-EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
284 angel Class Documentation
9.27.4 Member Function Documentation
9.27.4.1 template<typename Ad_graph_t, typename El_spec_t>elimination_history_t& angel::elimination_history_t< Ad_graph_t,El_spec_t >::operator= (const elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]
Assign operator.
Definition at line 638 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::check(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::og, angel::elimination_history_t< Ad_graph_t, El_spec_t>::seq, and THROW_DEBUG_EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::operator= angel::elimination_history_t::check angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.4.2 template<typename Ad_graph_t, typename El_spec_t> voidangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap(elimination_history_t< Ad_graph_t, El_spec_t > & eh) [inline]
Swap.
Definition at line 644 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::check(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::og, angel::elimination_history_t< Ad_graph_t, El_spec_t>::seq, and THROW_DEBUG_EXCEPT_MACRO.
Here is the call graph for this function:
angel::elimination_history_t::swap angel::elimination_history_t::check angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 285
9.27.4.3 template<typename Ad_graph_t, typename El_spec_t> intangel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(El_spec_t el) [inline]
Eliminate el from cg.
See also:
eliminate_object
It calls eliminate_objects (el, cg). The first parameter of eliminate_objects may be anon-const reference, which is for instance useful for triplet_t to return the line graphnode inserted or where the absorption took place. The return value of eliminate_objects(el, cg) must be the elimination costs. Costs greater than zero are assumed as successfulelimination (trivial eliminations are not considered at this point) and el is appended toseq. If el is passed as non-const reference its value after the elimination is appended.
Definition at line 660 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),and angel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(), andangel::neighbor_last_removable_t::operator()().
Here is the call graph for this function:
angel::elimination_history_t::elimination angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.4.4 template<typename Ad_graph_t, typename El_spec_t>bool angel::elimination_history_t< Ad_graph_t, El_spec_t>::check_sequence () const [inline]
Checks if og –seq–> cg.
Definition at line 666 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq, angel::write_graph(), and angel::write_-vector().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
286 angel Class Documentation
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_t().
Here is the call graph for this function:
angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.4.5 template<typename Ad_graph_t, typename El_spec_t> boolangel::elimination_history_t< Ad_graph_t, El_spec_t >::check ()const [inline]
Checks if og –seq–> cg and consistency of both graphs.
Definition at line 700 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::og.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().
Here is the call graph for this function:
angel::elimination_history_t::check angel::elimination_history_t::check_sequence
angel::eliminate
angel::write_graph
angel::write_vector
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.4.6 template<typename Ad_graph_t, typename El_spec_t>bool angel::elimination_history_t< Ad_graph_t, El_spec_t>::rebuild_graph () [inline]
Rebuild cg from og and seq.
Definition at line 706 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, and angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 287
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(), andangel::neighbor_last_removable_t::operator()().
Here is the call graph for this function:
angel::elimination_history_t::rebuild_graph angel::eliminate angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
angel::c_graph_t::vertex_type angel::c_graph_t::v
9.27.4.7 template<typename Ad_graph_t, typename El_spec_t>template<typename Heuristic_t> void angel::elimination_history_t<Ad_graph_t, El_spec_t >::complete_sequence (Heuristic_t h)[inline]
Complete sequence by heuristic h.
In SA applications h must be the same heuristic used cost operator (ANGEL cannotcheck this).
Definition at line 720 of file eliminations.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), and angel::elimination_history_t< Ad_graph_t,El_spec_t >::elimination().
Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), and xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_vertex().
Here is the call graph for this function:
angel::elimination_history_t::complete_sequence
angel::eliminatable_objects
angel::elimination_history_t::elimination
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::eliminate angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
9.27.5 Member Data Documentation
9.27.5.1 template<typename Ad_graph_t, typename El_spec_t> constAd_graph_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::og
The original graph.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
288 angel Class Documentation
Definition at line 583 of file eliminations.hpp.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_-t(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().
9.27.5.2 template<typename Ad_graph_t, typename El_spec_t>vector<El_spec_t> angel::elimination_history_t< Ad_graph_t,El_spec_t >::seq
Elimination sequence.
Definition at line 584 of file eliminations.hpp.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-vertex(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::neighbor_check_meta_t::operator()(), angel::neighbor_sequence_check_-t::operator()(), angel::neighbor_multi_step_t::operator()(), angel::neighbor_last_-removable_t::operator()(), angel::elimination_history_t< Ad_graph_t, El_spec_t>::operator=(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_-graph(), and angel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().
9.27.5.3 template<typename Ad_graph_t, typename El_spec_t> Ad_graph_tangel::elimination_history_t< Ad_graph_t, El_spec_t >::cg
Current graph.
Definition at line 585 of file eliminations.hpp.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_t(),angel::neighbor_check_meta_t::operator()(), angel::neighbor_sequence_check_-t::operator()(), angel::neighbor_multi_step_t::operator()(), angel::neighbor_-last_removable_t::operator()(), angel::SA_elimination_cost_t< Heuristic_t>::operator()(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 289
9.27.5.4 template<typename Ad_graph_t, typename El_spec_t> intangel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts
Current costs (og -> cg).
Definition at line 586 of file eliminations.hpp.
Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::SA_elimination_cost_t< Heuristic_t >::operator()(), angel::elimination_-history_t< Ad_graph_t, El_spec_t >::operator=(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_history_t<Ad_graph_t, El_spec_t >::swap().
The documentation for this class was generated from the following file:
• angel/include/eliminations.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
290 angel Class Documentation
9.28 angel::elimSeq_cost_t Struct Reference
#include <angel_types.hpp>
Public Member Functions
• elimSeq_cost_t (unsigned int _bestNumNontrivialEdges, un-signed int _cost, unsigned int _costAtBestEdgecount, un-signed int _numIntermediatesAtBestEdgecount, unsigned int _-numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t _lastDesiredElim)
Public Attributes
• std::vector< EdgeElim > edgeElimVector• unsigned int bestNumNontrivialEdges• unsigned int cost• unsigned int costAtBestEdgecount• unsigned int numIntermediatesAtBestEdgecount• unsigned int numIntermediatesWithoutUnitEdgeAtBestEdgecount• size_t lastDesiredElim• bool revealedNewDependence
9.28.1 Detailed Description
Definition at line 847 of file angel_types.hpp.
9.28.2 Constructor & Destructor Documentation
9.28.2.1 angel::elimSeq_cost_t::elimSeq_cost_t (unsigned int_bestNumNontrivialEdges, unsigned int _cost, unsigned int _-costAtBestEdgecount, unsigned int _numIntermediatesAtBestEdgecount,unsigned int _numIntermediatesWithoutUnitEdgeAtBestEdgecount,size_t _lastDesiredElim) [inline]
Definition at line 857 of file angel_types.hpp.
9.28.3 Member Data Documentation
9.28.3.1 std::vector<EdgeElim> angel::elimSeq_cost_t::edgeElimVector
Definition at line 848 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.28 angel::elimSeq_cost_t Struct Reference 291
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and angel::pair_elim().
9.28.3.2 unsigned int angel::elimSeq_cost_t::bestNumNontrivialEdges
Definition at line 849 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
9.28.3.3 unsigned int angel::elimSeq_cost_t::cost
Definition at line 850 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
9.28.3.4 unsigned int angel::elimSeq_cost_t::costAtBestEdgecount
Definition at line 851 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
9.28.3.5 unsigned int angel::elimSeq_cost_-t::numIntermediatesAtBestEdgecount
Definition at line 852 of file angel_types.hpp.
9.28.3.6 unsigned int angel::elimSeq_cost_-t::numIntermediatesWithoutUnitEdgeAtBestEdgecount
Definition at line 853 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().
9.28.3.7 size_t angel::elimSeq_cost_t::lastDesiredElim
Definition at line 854 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
292 angel Class Documentation
9.28.3.8 bool angel::elimSeq_cost_t::revealedNewDependence [mutable]
Definition at line 855 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and angel::pair_elim().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.29 angel::empty_operator_t< operand_t > Struct Template Reference 293
9.29 angel::empty_operator_t< operand_t > StructTemplate Reference
Empty operator class for dummy arguments.
#include <angel_tools.hpp>
Public Member Functions
• void operator() (const operand_t &)• void operator() (operand_t &)
9.29.1 Detailed Description
template<class operand_t> struct angel::empty_operator_t< operand_t >
Empty operator class for dummy arguments.
Definition at line 890 of file angel_tools.hpp.
9.29.2 Member Function Documentation
9.29.2.1 template<class operand_t> void angel::empty_operator_t< operand_t>::operator() (const operand_t &) [inline]
Definition at line 891 of file angel_tools.hpp.
9.29.2.2 template<class operand_t> void angel::empty_operator_t< operand_t>::operator() (operand_t &) [inline]
Definition at line 892 of file angel_tools.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
294 angel Class Documentation
9.30 angel::emulated_vertex_heuristic_t< Vertex_-heuristic_t > Class Template Reference
Simulates vertex elimination heuristics with edge eliminations.
#include <heuristics.hpp>
Collaboration diagram for angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >:
angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >
Vertex_heuristic_t
h
Public Member Functions
• emulated_vertex_heuristic_t (Vertex_heuristic_t _h)
Constructor stores the vertex-based heuristic to be used.
• int operator() (const vector< edge_ij_elim_t > &tv1, const c_graph_t &cg,vector< edge_ij_elim_t > &tv2)
Private Attributes
• Vertex_heuristic_t h
• c_graph_t::vertex_t last_vertex
9.30.1 Detailed Description
template<class Vertex_heuristic_t> class angel::emulated_vertex_heuristic_t<Vertex_heuristic_t >
Simulates vertex elimination heuristics with edge eliminations.
Egde eliminations belonging to one vertex elimination are executed successively. Canbe applied to c-graphs containing dependents with out-degree > 0. If multiple vertexheuristics are used it is better to combine them first and to derive and edge heuristicfrom it than combining the derived edge heuristics.
Definition at line 1074 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.30 angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > Class TemplateReference 295
9.30.2 Constructor & Destructor Documentation
9.30.2.1 template<class Vertex_heuristic_t> angel::emulated_vertex_-heuristic_t< Vertex_heuristic_t >::emulated_vertex_heuristic_t(Vertex_heuristic_t _h) [inline]
Constructor stores the vertex-based heuristic to be used.
Definition at line 1079 of file heuristics.hpp.
9.30.3 Member Function Documentation
9.30.3.1 template<class Vertex_heuristic_t> int angel::emulated_vertex_-heuristic_t< Vertex_heuristic_t >::operator() (const vector<edge_ij_elim_t > & tv1, const c_graph_t & cg, vector< edge_ij_elim_t> & tv2) [inline]
Definition at line 59 of file heuristics_impl.hpp.
References angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::h, andangel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::last_vertex.
9.30.4 Member Data Documentation
9.30.4.1 template<class Vertex_heuristic_t> Vertex_heuristic_tangel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::h[private]
Definition at line 1075 of file heuristics.hpp.
Referenced by angel::emulated_vertex_heuristic_t< Vertex_heuristic_-t >::operator()().
9.30.4.2 template<class Vertex_heuristic_t> c_graph_t::vertex_tangel::emulated_vertex_heuristic_t< Vertex_heuristic_t>::last_vertex [private]
Definition at line 1076 of file heuristics.hpp.
Referenced by angel::emulated_vertex_heuristic_t< Vertex_heuristic_-t >::operator()().
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/include/heuristics_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
296 angel Class Documentation
9.31 angel::fiv_op_t Struct Reference
Public Member Functions
• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
9.31.1 Detailed Description
Definition at line 167 of file heuristics.cpp.
9.31.2 Member Function Documentation
9.31.2.1 int angel::fiv_op_t::operator() (c_graph_t::vertex_t v, const c_graph_t& cg) [inline]
Definition at line 168 of file heuristics.cpp.
References angel::new_out_edges().
Here is the call graph for this function:
angel::fiv_op_t::operator() angel::new_out_edges
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.32 angel::fixed_temperature_t Class Reference 297
9.32 angel::fixed_temperature_t Class Reference
Functor that returns fixed temperature.
#include <sa.hpp>
Public Member Functions
• fixed_temperature_t (double p_t)Set t in constructor.
• double operator() (int it) constFixed temperature in iteration it.
Private Attributes
• double t
9.32.1 Detailed Description
Functor that returns fixed temperature.
Definition at line 44 of file sa.hpp.
9.32.2 Constructor & Destructor Documentation
9.32.2.1 angel::fixed_temperature_t::fixed_temperature_t (double p_t)[inline]
Set t in constructor.
Definition at line 48 of file sa.hpp.
9.32.3 Member Function Documentation
9.32.3.1 double angel::fixed_temperature_t::operator() (int it) const[inline]
Fixed temperature in iteration it.
Definition at line 50 of file sa.hpp.
References t.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
298 angel Class Documentation
9.32.4 Member Data Documentation
9.32.4.1 double angel::fixed_temperature_t::t [private]
Definition at line 45 of file sa.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/sa.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.33 angel::forward_mode_edge_t Class Reference 299
9.33 angel::forward_mode_edge_t Class Reference
Operator class for mixed forward edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::forward_mode_edge_t:
angel::forward_mode_edge_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Collaboration diagram for angel::forward_mode_edge_t:
angel::forward_mode_edge_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Objective_t
my_objective
Public Member Functions
• forward_mode_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.33.1 Detailed Description
Operator class for mixed forward edge elimination.
operator() is equivalent to forward_mode_edge ( const vector<pair<c_graph_t::edge_-t,bool> >& ev1, const c_graph_t& cg, vector<pair<c_graph_t::edge_t,bool> >&ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
300 angel Class Documentation
See also:
forward_mode_vertex_t
Definition at line 330 of file heuristics.hpp.
9.33.2 Constructor & Destructor Documentation
9.33.2.1 angel::forward_mode_edge_t::forward_mode_edge_t () [inline]
Definition at line 332 of file heuristics.hpp.
9.33.3 Member Function Documentation
9.33.3.1 int angel::forward_mode_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)
Definition at line 476 of file heuristics.cpp.
References angel::fme_obj(), angel::lex_less(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().
Here is the call graph for this function:
angel::forward_mode_edge_t::operator()
angel::fme_obj
angel::lex_less
angel::base_heuristic_t< double >::set_empty_objective
angel::base_heuristic_t< double >::set_objective
angel::edge
angel::c_graph_t::x
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.34 angel::forward_mode_face_t Class Reference 301
9.34 angel::forward_mode_face_t Class Reference
Operator class for forward mode in face elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::forward_mode_face_t:
angel::forward_mode_face_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Collaboration diagram for angel::forward_mode_face_t:
angel::forward_mode_face_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Objective_t
my_objective
Public Member Functions
• forward_mode_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t
&lg, vector< line_graph_t::face_t > &fv2)
9.34.1 Detailed Description
Operator class for forward mode in face elimination.
operator() is equivalent to forward_mode_face
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
302 angel Class Documentation
See also:
forward_mode_faceforward_mode_vertex_t
Definition at line 788 of file heuristics.hpp.
9.34.2 Constructor & Destructor Documentation
9.34.2.1 angel::forward_mode_face_t::forward_mode_face_t () [inline]
Definition at line 790 of file heuristics.hpp.
9.34.3 Member Function Documentation
9.34.3.1 int angel::forward_mode_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)
Definition at line 881 of file heuristics.cpp.
References angel::fmf_obj(), angel::lex_less_face(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().
Here is the call graph for this function:
angel::forward_mode_face_t::operator()
angel::fmf_obj
angel::lex_less_face
angel::base_heuristic_t< double >::set_empty_objective
angel::base_heuristic_t< double >::set_objective
angel::face_vertex_name
angel::line_graph_t::x
angel::write_graph
angel::write_vertex_property
angel::write_vector
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.35 angel::forward_mode_vertex_t Class Reference 303
9.35 angel::forward_mode_vertex_t Class Reference
Operator class for forward mode in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::forward_mode_vertex_t:
angel::forward_mode_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::forward_mode_vertex_t:
angel::forward_mode_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• forward_mode_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.35.1 Detailed Description
Operator class for forward mode in vertex elimination.
Since operator() behaves like forward_mode_vertex objects of this class can be calledlike the function. For instance, forward_mode_vertex_t fm; fm (v1, cg, v2); is identical
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
304 angel Class Documentation
with forward_mode_vertex (v1, cg, v2);. However, the object fm can be more easylyused in templates.
See also:
forward_mode_vertex
Definition at line 64 of file heuristics.hpp.
9.35.2 Constructor & Destructor Documentation
9.35.2.1 angel::forward_mode_vertex_t::forward_mode_vertex_t ()[inline]
Definition at line 66 of file heuristics.hpp.
9.35.3 Member Function Documentation
9.35.3.1 int angel::forward_mode_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 23 of file heuristics.cpp.
References angel::base_heuristic_t< int >::set_empty_objective(), and angel::base_-heuristic_t< int >::set_objective().
Here is the call graph for this function:
angel::forward_mode_vertex_t::operator()
angel::base_heuristic_t< int >::set_empty_objective
angel::base_heuristic_t< int >::set_objective
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.36 angel::gamma_adaption_average_t Class Reference 305
9.36 angel::gamma_adaption_average_t Class Refer-ence
Γ adaption on average min-max-difference
#include <sa.hpp>
Public Member Functions
• gamma_adaption_average_t (int p_D, double p_scaling=1.0)
Constructor.
• void operator() (int costs, double &gamma)
Operator, which finally changes Γ.
Private Attributes
• int D• int sum_diff• int last_min• int last_max• int imp• double scaling
9.36.1 Detailed Description
Γ adaption on average min-max-difference
Same as gamma_adaption_max_t with average instead of maximal difference.
Warning:
In contrast to other operator classes (e.g. neighbor_sequence_check_t), objectsof this class can only be used in one run! For another run a new object must becreated to set private variables to their initial state.
See also:
gamma_adaption_max_tALSA
Definition at line 287 of file sa.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
306 angel Class Documentation
9.36.2 Constructor & Destructor Documentation
9.36.2.1 angel::gamma_adaption_average_t::gamma_adaption_average_t (intp_D, double p_scaling = 1.0) [inline]
Constructor.
Parameters:
p_D The number of improvement before Γ is changed
p_scaling Scaling factor for Γ, if omitted 1.0 is taken (no scaling)
Definition at line 295 of file sa.hpp.
References D, scaling, and THROW_DEBUG_EXCEPT_MACRO.
9.36.3 Member Function Documentation
9.36.3.1 void angel::gamma_adaption_average_t::operator() (int costs, double& gamma)
Operator, which finally changes Γ.
Parameters:
costs The costs (objective function) of current iteration, must be larger than 0
gamma Γ in current iteration, may be changed
Definition at line 191 of file sa_impl.hpp.
References D, imp, last_max, last_min, scaling, and sum_diff.
9.36.4 Member Data Documentation
9.36.4.1 int angel::gamma_adaption_average_t::D [private]
Definition at line 288 of file sa.hpp.
Referenced by gamma_adaption_average_t(), and operator()().
9.36.4.2 int angel::gamma_adaption_average_t::sum_diff [private]
Definition at line 288 of file sa.hpp.
Referenced by operator()().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.36 angel::gamma_adaption_average_t Class Reference 307
9.36.4.3 int angel::gamma_adaption_average_t::last_min [private]
Definition at line 288 of file sa.hpp.
Referenced by operator()().
9.36.4.4 int angel::gamma_adaption_average_t::last_max [private]
Definition at line 288 of file sa.hpp.
Referenced by operator()().
9.36.4.5 int angel::gamma_adaption_average_t::imp [private]
Definition at line 288 of file sa.hpp.
Referenced by operator()().
9.36.4.6 double angel::gamma_adaption_average_t::scaling [private]
Definition at line 289 of file sa.hpp.
Referenced by gamma_adaption_average_t(), and operator()().
The documentation for this class was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
308 angel Class Documentation
9.37 angel::gamma_adaption_max_t Class Reference
Γ adaption on maximal min-max-difference
#include <sa.hpp>
Public Member Functions
• gamma_adaption_max_t (int p_D, double p_scaling=1.0)Constructor.
• void operator() (int costs, double &gamma)Operator, which finally changes Γ.
Private Attributes
• int D• int diff• int max_diff• int last_min• int last_max• int imp• double scaling
9.37.1 Detailed Description
Γ adaption on maximal min-max-difference
Between two improvements of the objective functions the maximal (worst) value issubtracted from the minimal (best) value. This difference is computed for D improve-ments. Then the maximal difference is used as Γ.
Warning:
In contrast to other operator classes (e.g. neighbor_sequence_check_t), objectsof this class can only be used in one run! For another run a new object must becreated to set private variables to their initial state.
See also:
ALSA
Definition at line 257 of file sa.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.37 angel::gamma_adaption_max_t Class Reference 309
9.37.2 Constructor & Destructor Documentation
9.37.2.1 angel::gamma_adaption_max_t::gamma_adaption_max_t (int p_D,double p_scaling = 1.0) [inline]
Constructor.
Parameters:
p_D The number of improvement before Γ is changed
p_scaling Scaling factor for Γ, if omitted 1.0 is taken (no scaling)
Definition at line 265 of file sa.hpp.
References D, scaling, and THROW_DEBUG_EXCEPT_MACRO.
9.37.3 Member Function Documentation
9.37.3.1 void angel::gamma_adaption_max_t::operator() (int costs, double &gamma)
Operator, which finally changes Γ.
Parameters:
costs The costs (objective function) of current iteration, must be larger than 0
gamma Γ in current iteration, may be changed
Definition at line 180 of file sa_impl.hpp.
References D, diff, imp, last_max, last_min, max_diff, and scaling.
9.37.4 Member Data Documentation
9.37.4.1 int angel::gamma_adaption_max_t::D [private]
Definition at line 258 of file sa.hpp.
Referenced by gamma_adaption_max_t(), and operator()().
9.37.4.2 int angel::gamma_adaption_max_t::diff [private]
Definition at line 258 of file sa.hpp.
Referenced by operator()().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
310 angel Class Documentation
9.37.4.3 int angel::gamma_adaption_max_t::max_diff [private]
Definition at line 258 of file sa.hpp.
Referenced by operator()().
9.37.4.4 int angel::gamma_adaption_max_t::last_min [private]
Definition at line 258 of file sa.hpp.
Referenced by operator()().
9.37.4.5 int angel::gamma_adaption_max_t::last_max [private]
Definition at line 258 of file sa.hpp.
Referenced by operator()().
9.37.4.6 int angel::gamma_adaption_max_t::imp [private]
Definition at line 258 of file sa.hpp.
Referenced by operator()().
9.37.4.7 double angel::gamma_adaption_max_t::scaling [private]
Definition at line 259 of file sa.hpp.
Referenced by gamma_adaption_max_t(), and operator()().
The documentation for this class was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference 311
9.38 angel::heuristic_pair_t< Heuristic1_t,Heuristic2_t > Class Template Reference
Make a pair of heuristics.
#include <heuristics.hpp>
Collaboration diagram for angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >:
angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >
Heuristic1_t
h1
Heuristic2_t
h2
Public Member Functions
• heuristic_pair_t (Heuristic1_t _h1, Heuristic2_t _h2)
Constructor with.
• template<class Vector_t, class Ad_graph_t>int operator() (const Vector_t &v1, const Ad_graph_t &adg, Vector_t &v2)
Operator that behaves like one heuristic function.
Private Attributes
• Heuristic1_t h1• Heuristic2_t h2
9.38.1 Detailed Description
template<class Heuristic1_t, class Heuristic2_t> class angel::heuristic_pair_t<Heuristic1_t, Heuristic2_t >
Make a pair of heuristics.
Two heuristics are semantically and syntactically combined to one heuristic. Objects ofthis class can passed where a heuristic is used in a template or can be called like heuris-tic functions. For instance, heuristic_pair_t<lowest_markowitz_vertex_t, reverse_-mode_vertex_t> lmrm; lmrm (v1, cg, v2); is identical with lowest_markowitz_vertex(v1, cg, vtmp); reverse_mode_vertex (vtmp, cg, v2).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
312 angel Class Documentation
See also:
use_heuristic
Definition at line 1100 of file heuristics.hpp.
9.38.2 Constructor & Destructor Documentation
9.38.2.1 template<class Heuristic1_t, class Heuristic2_t>angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t>::heuristic_pair_t (Heuristic1_t _h1, Heuristic2_t _h2) [inline]
Constructor with.
Definition at line 1106 of file heuristics.hpp.
9.38.3 Member Function Documentation
9.38.3.1 template<class Heuristic1_t, class Heuristic2_t> template<classVector_t, class Ad_graph_t> int angel::heuristic_pair_t< Heuristic1_t,Heuristic2_t >::operator() (const Vector_t & v1, const Ad_graph_t &adg, Vector_t & v2) [inline]
Operator that behaves like one heuristic function.
Definition at line 1110 of file heuristics.hpp.
References angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h1, andangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h2.
9.38.4 Member Data Documentation
9.38.4.1 template<class Heuristic1_t, class Heuristic2_t> Heuristic1_tangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h1[private]
Definition at line 1102 of file heuristics.hpp.
Referenced by angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::operator()().
9.38.4.2 template<class Heuristic1_t, class Heuristic2_t> Heuristic2_tangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h2[private]
Definition at line 1103 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference 313
Referenced by angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::operator()().
The documentation for this class was generated from the following file:
• angel/include/heuristics.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
314 angel Class Documentation
9.39 angel::heuristic_triplet_t< Heuristic1_t,Heuristic2_t, Heuristic3_t > Class TemplateReference
Make a pair of heuristics.
#include <heuristics.hpp>
Collaboration diagram for angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >:
angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >
Heuristic1_t
h1
Heuristic3_t
h3
Heuristic2_t
h2
Public Member Functions
• heuristic_triplet_t (Heuristic1_t _h1, Heuristic2_t _h2, Heuristic3_t _h3)• template<class Vector_t, class Ad_graph_t>
int operator() (const Vector_t &v1, const Ad_graph_t &adg, Vector_t &v2)
Private Attributes
• Heuristic1_t h1• Heuristic2_t h2• Heuristic3_t h3
9.39.1 Detailed Description
template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t> classangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >
Make a pair of heuristics.
Three heuristics are semantically and syntactically combined to one heuristic.
See also:
use_heuristicheuristic_pair_t
Definition at line 1121 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.39 angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > ClassTemplate Reference 315
9.39.2 Constructor & Destructor Documentation
9.39.2.1 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t>::heuristic_triplet_t (Heuristic1_t _h1, Heuristic2_t _h2, Heuristic3_t_h3) [inline]
Definition at line 1127 of file heuristics.hpp.
9.39.3 Member Function Documentation
9.39.3.1 template<class Heuristic1_t, class Heuristic2_t, classHeuristic3_t> template<class Vector_t, class Ad_graph_t> intangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t>::operator() (const Vector_t & v1, const Ad_graph_t & adg, Vector_t& v2) [inline]
Definition at line 1131 of file heuristics.hpp.
References angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h1,angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h2, andangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h3.
9.39.4 Member Data Documentation
9.39.4.1 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic1_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h1 [private]
Definition at line 1123 of file heuristics.hpp.
Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().
9.39.4.2 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic2_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h2 [private]
Definition at line 1124 of file heuristics.hpp.
Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
316 angel Class Documentation
9.39.4.3 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic3_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h3 [private]
Definition at line 1125 of file heuristics.hpp.
Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().
The documentation for this class was generated from the following file:
• angel/include/heuristics.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.40 GMPI::Intracomm Class Reference 317
9.40 GMPI::Intracomm Class Reference
#include <gmpi.hpp>
Inheritance diagram for GMPI::Intracomm:
GMPI::Intracomm
GMPI::Comm
Collaboration diagram for GMPI::Intracomm:
GMPI::Intracomm
GMPI::Comm
Public Member Functions
• Intracomm (MPI::Intracomm &mpi_comm)• void Barrier () const• template<typename Comm_ref_t>
void Bcast (Comm_ref_t &data, int root) const• void Bcast (void ∗buffer, int count, const MPI::Datatype &datatype, int root)
const• template<typename Comm_ref_t>
void Reduce (const Comm_ref_t &senddata, Comm_ref_t &recvdata, constMPI::Op &op, int root) const
• template<typename Comm_ref_t>void Allreduce (const Comm_ref_t &senddata, Comm_ref_t &recvdata, constMPI::Op &op) const
• void Allreduce (const void ∗sendbuf, void ∗recvbuf, int count, constMPI::Datatype &datatype, const MPI::Op &op) const
• void Gather (const void ∗sendbuf, int sendcount, const MPI::Datatype &send-type, void ∗recvbuf, int recvcount, const MPI::Datatype &recvtype, int root)const
9.40.1 Detailed Description
Definition at line 261 of file gmpi.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
318 angel Class Documentation
9.40.2 Constructor & Destructor Documentation
9.40.2.1 GMPI::Intracomm::Intracomm (MPI::Intracomm & mpi_comm)[inline]
Definition at line 263 of file gmpi.hpp.
9.40.3 Member Function Documentation
9.40.3.1 void GMPI::Intracomm::Barrier () const [inline]
Definition at line 265 of file gmpi.hpp.
References GMPI::Comm::my_comm.
9.40.3.2 template<class Comm_ref_t> void GMPI::Intracomm::Bcast(Comm_ref_t & data, int root) const [inline]
Definition at line 31 of file gmpi_impl.hpp.
References GMPI::buffer_t< Base_t >::address(), GMPI::Comm::Get_rank(),GMPI::mpi_size_t, GMPI::buffer_t< Base_t >::mpi_t, GMPI::Comm::my_comm,GMPI::buffer_t< Base_t >::reserve(), and GMPI::buffer_t< Base_t >::size().
Here is the call graph for this function:
GMPI::Intracomm::Bcast
GMPI::buffer_t::address
GMPI::Comm::Get_rank
GMPI::buffer_t::reserve
GMPI::buffer_t::size
9.40.3.3 void GMPI::Intracomm::Bcast (void ∗ buffer, int count, constMPI::Datatype & datatype, int root) const [inline]
Definition at line 270 of file gmpi.hpp.
References GMPI::Comm::my_comm.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.40 GMPI::Intracomm Class Reference 319
9.40.3.4 template<typename Comm_ref_t> void GMPI::Intracomm::Reduce(const Comm_ref_t & senddata, Comm_ref_t & recvdata, constMPI::Op & op, int root) const [inline]
9.40.3.5 template<typename Comm_ref_t> voidGMPI::Intracomm::Allreduce (const Comm_ref_t & senddata,Comm_ref_t & recvdata, const MPI::Op & op) const [inline]
9.40.3.6 void GMPI::Intracomm::Allreduce (const void ∗ sendbuf, void ∗recvbuf, int count, const MPI::Datatype & datatype, const MPI::Op &op) const [inline]
Definition at line 285 of file gmpi.hpp.
References GMPI::Comm::my_comm.
9.40.3.7 void GMPI::Intracomm::Gather (const void ∗ sendbuf, int sendcount,const MPI::Datatype & sendtype, void ∗ recvbuf, int recvcount, constMPI::Datatype & recvtype, int root) const [inline]
Definition at line 289 of file gmpi.hpp.
References GMPI::Comm::my_comm.
The documentation for this class was generated from the following files:
• angel/include/gmpi.hpp• angel/include/gmpi_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
320 angel Class Documentation
9.41 angel::io_exception Class Reference
#include <angel_exceptions.hpp>
Inheritance diagram for angel::io_exception:
angel::io_exception
angel::base_exception
Collaboration diagram for angel::io_exception:
angel::io_exception
angel::base_exception
string
reason
Public Member Functions
• io_exception (std::string filename, int linenumber, std::string what)
9.41.1 Detailed Description
Definition at line 28 of file angel_exceptions.hpp.
9.41.2 Constructor & Destructor Documentation
9.41.2.1 angel::io_exception::io_exception (std::string filename, int linenumber,std::string what) [inline]
Definition at line 30 of file angel_exceptions.hpp.
The documentation for this class was generated from the following file:
• angel/include/angel_exceptions.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.42 angel::lex_less_face_line_t Class Reference 321
9.42 angel::lex_less_face_line_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::lex_less_face_line_t:
angel::lex_less_face_line_t
angel::line_graph_t
lg
angel::c_graph_t
cgp
Public Member Functions
• lex_less_face_line_t (const line_graph_t &g)• bool operator() (const line_graph_t::face_t &e1, const line_graph_t::face_t &e2)
Private Attributes
• const line_graph_t & lg
9.42.1 Detailed Description
Definition at line 482 of file angel_tools.hpp.
9.42.2 Constructor & Destructor Documentation
9.42.2.1 angel::lex_less_face_line_t::lex_less_face_line_t (const line_graph_t &g) [inline]
Definition at line 486 of file angel_tools.hpp.
9.42.3 Member Function Documentation
9.42.3.1 bool angel::lex_less_face_line_t::operator() (const line_graph_t::face_t& e1, const line_graph_t::face_t & e2) [inline]
Definition at line 488 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
322 angel Class Documentation
References angel::lex_less_face(), and lg.
Here is the call graph for this function:
angel::lex_less_face_line_t::operator() angel::lex_less_face
angel::write_graph
angel::write_vertex_property
angel::write_vector
9.42.4 Member Data Documentation
9.42.4.1 const line_graph_t& angel::lex_less_face_line_t::lg [private]
Definition at line 483 of file angel_tools.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 323
9.43 angel::line_graph_t Class Reference
Line graph type.
#include <angel_types.hpp>
Collaboration diagram for angel::line_graph_t:
angel::line_graph_t
angel::c_graph_t
cgp
Public Types
• typedef pure_line_graph_t pure_graph_tType of basic type from BGL.
• typedef pure_line_graph_t::vertex_descriptor edge_tEdge type.
• typedef pure_line_graph_t::edge_descriptor face_tFace type.
• typedef boost::graph_traits< pure_line_graph_t >::vertex_iterator ei_tEdge iterator type.
• typedef boost::graph_traits< pure_line_graph_t >::edge_iterator fi_tFace iterator type.
• typedef boost::graph_traits< pure_line_graph_t >::in_edge_iterator ifi_tIterator type of a edge’s incoming faces.
• typedef boost::graph_traits< pure_line_graph_t >::out_edge_iterator ofi_tIterator type of a edge’s outgoing faces.
• typedef boost::property_map< pure_line_graph_t, boost::vertex_degree_t>::const_type const_ed_t
Type of property edge label for const line_graph_t.
• typedef boost::property_map< pure_line_graph_t, boost::vertex_degree_t>::type ed_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
324 angel Class Documentation
Type of property edge label for non-const line_graph_t.
• typedef boost::property_map< pure_line_graph_t, boost::vertex_name_t>::const_type const_evn_t
• typedef boost::property_map< pure_line_graph_t, boost::vertex_name_t>::type evn_t
Public Member Functions
• int x () const
Number of independent vertices.
• int y () const
Number of dependent vertices.
• int v () const
Number of all vertices, including empty.
• int z () const
Number of intermediate vertices.
• line_graph_t ()
Default constructor.
• line_graph_t (int V_, int X_, const std::vector< edge_t > &deps)
Constructor with vertex specification.
• line_graph_t (const c_graph_t &cg)
Constructor that builds line graph from c-graph.
• line_graph_t (const line_graph_t &_g)
Copy constructor.
• ∼line_graph_t ()
Destructor.
• line_graph_t & operator= (const line_graph_t &_g)
Assign operator.
• void swap (line_graph_t &_g)
Swap.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 325
• enum vertex_type_t vertex_type (edge_t e) const
Type of edge e.
• void copy_properties (const line_graph_t &_g)
Copies properties explicitly.
• void clear_edges ()
Removes edges explicitly.
• void clear_graph ()
Remove all vertices that are not connected to dependent and inpedendent vertices.
• bool check () const
Check consistency of graph.
• bool is_tripartite () const
Whether graph is tripartite.
Public Attributes
• std::vector< edge_t > dependents
set of dependent vertices
• const c_graph_t ∗ cgp
Pointer to corresponding c-graph.
Private Attributes
• int X• bool cons_ok
Friends
• int face_elimination (face_t face, int kr, line_graph_t &lg, accu_graph_t &ac)• void unpack_graph (const graph_package_t &gp, line_graph_t &lg)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
326 angel Class Documentation
9.43.1 Detailed Description
Line graph type.
Type names are related to the c-graph. For instance, a vertex of the line graph is definedas edge_t (since it represent an edge). The types c_graph_t::edge_t and line_graph_-t::edge_t are not compatible (see edge_vertex_name and find_edge).
Definition at line 257 of file angel_types.hpp.
9.43.2 Member Typedef Documentation
9.43.2.1 typedef pure_line_graph_t angel::line_graph_t::pure_graph_t
Type of basic type from BGL.
Definition at line 263 of file angel_types.hpp.
9.43.2.2 typedef pure_line_graph_t::vertex_descriptorangel::line_graph_t::edge_t
Edge type.
Definition at line 265 of file angel_types.hpp.
9.43.2.3 typedef pure_line_graph_t::edge_descriptorangel::line_graph_t::face_t
Face type.
Definition at line 267 of file angel_types.hpp.
9.43.2.4 typedef boost::graph_traits<pure_line_graph_t>::vertex_iteratorangel::line_graph_t::ei_t
Edge iterator type.
Definition at line 269 of file angel_types.hpp.
9.43.2.5 typedef boost::graph_traits<pure_line_graph_t>::edge_iteratorangel::line_graph_t::fi_t
Face iterator type.
Definition at line 271 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 327
9.43.2.6 typedef boost::graph_traits<pure_line_graph_t>::in_edge_iteratorangel::line_graph_t::ifi_t
Iterator type of a edge’s incoming faces.
Definition at line 273 of file angel_types.hpp.
9.43.2.7 typedef boost::graph_traits<pure_line_graph_t>::out_edge_iteratorangel::line_graph_t::ofi_t
Iterator type of a edge’s outgoing faces.
Definition at line 275 of file angel_types.hpp.
9.43.2.8 typedef boost::property_map<pure_line_graph_t,boost::vertex_degree_t>::const_type angel::line_graph_t::const_ed_t
Type of property edge label for const line_graph_t.
Definition at line 277 of file angel_types.hpp.
9.43.2.9 typedef boost::property_map<pure_line_graph_t,boost::vertex_degree_t>::type angel::line_graph_t::ed_t
Type of property edge label for non-const line_graph_t.
Definition at line 279 of file angel_types.hpp.
9.43.2.10 typedef boost::property_map<pure_line_graph_t,boost::vertex_name_t>::const_type angel::line_graph_t::const_evn_t
Type of edge-vertex-name property for const line_graph_t
This means an edge from line graph corresponds/belongs to an edge in c-graph, whichis represented as two integers for the source and the target vertex
Definition at line 285 of file angel_types.hpp.
9.43.2.11 typedef boost::property_map<pure_line_graph_t,boost::vertex_name_t>::type angel::line_graph_t::evn_t
Type of edge-vertex-name property for non-const line_graph_t
This means an edge from line graph corresponds/belongs to an edge in c-graph, whichis represented as two integers for the source and the target vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
328 angel Class Documentation
Definition at line 291 of file angel_types.hpp.
9.43.3 Constructor & Destructor Documentation
9.43.3.1 angel::line_graph_t::line_graph_t () [inline]
Default constructor.
Definition at line 303 of file angel_types.hpp.
9.43.3.2 angel::line_graph_t::line_graph_t (int V_, int X_, const std::vector<edge_t > & deps) [inline]
Constructor with vertex specification.
Parameters:
V_ number of all vertices
X_ number of independent vertices
deps set of dependent vertices
Definition at line 310 of file angel_types.hpp.
References dependents, and THROW_EXCEPT_MACRO.
9.43.3.3 angel::line_graph_t::line_graph_t (const c_graph_t & cg)
Constructor that builds line graph from c-graph.
Definition at line 170 of file angel_types.cpp.
References cons_ok, dependents, angel::c_graph_t::dependents, angel::overall_-markowitz_degree(), angel::renumber_edges(), THROW_DEBUG_EXCEPT_-MACRO, X, angel::c_graph_t::x(), and angel::c_graph_t::y().
Here is the call graph for this function:
angel::line_graph_t::line_graph_t
angel::overall_markowitz_degree
angel::renumber_edges
angel::c_graph_t::x
angel::c_graph_t::y
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 329
9.43.3.4 angel::line_graph_t::line_graph_t (const line_graph_t & _g)[inline]
Copy constructor.
Definition at line 326 of file angel_types.hpp.
9.43.3.5 angel::line_graph_t::∼line_graph_t () [inline]
Destructor.
Definition at line 331 of file angel_types.hpp.
References clear_edges().
Here is the call graph for this function:
angel::line_graph_t::~line_graph_t angel::line_graph_t::clear_edges
9.43.4 Member Function Documentation
9.43.4.1 int angel::line_graph_t::x () const [inline]
Number of independent vertices.
Definition at line 295 of file angel_types.hpp.
References X.
Referenced by check(), angel::fmf_obj(), angel::operator==(), angel::xaif_edge_pr(),and z().
9.43.4.2 int angel::line_graph_t::y () const [inline]
Number of dependent vertices.
Definition at line 296 of file angel_types.hpp.
References dependents.
Referenced by check(), angel::operator==(), and z().
9.43.4.3 int angel::line_graph_t::v () const [inline]
Number of all vertices, including empty.
Definition at line 297 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
330 angel Class Documentation
Referenced by check(), clear_graph(), angel::face_elimination(), angel::operator==(),angel::accu_graph_t::set_jacobi_entries(), vertex_type(), angel::was_non_trivial_-elimination(), and z().
9.43.4.4 int angel::line_graph_t::z () const [inline]
Number of intermediate vertices.
Definition at line 298 of file angel_types.hpp.
References v(), x(), and y().
Referenced by angel::operator==().
Here is the call graph for this function:
angel::line_graph_t::z
angel::line_graph_t::v
angel::line_graph_t::x
angel::line_graph_t::y
9.43.4.5 line_graph_t& angel::line_graph_t::operator= (const line_graph_t &_g) [inline]
Assign operator.
Definition at line 334 of file angel_types.hpp.
References cgp, clear_edges(), cons_ok, dependents, and X.
Here is the call graph for this function:
angel::line_graph_t::operator= angel::line_graph_t::clear_edges
9.43.4.6 void angel::line_graph_t::swap (line_graph_t & _g) [inline]
Swap.
Note:
Properties not swapped properly!
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 331
Definition at line 343 of file angel_types.hpp.
References cgp, cons_ok, dependents, and X.
9.43.4.7 enum vertex_type_t angel::line_graph_t::vertex_type (edge_t e) const[inline]
Type of edge e.
Definition at line 350 of file angel_types.hpp.
References angel::dead_vertex, angel::dependent, angel::independent, an-gel::intermediate, angel::undefined_vertex, and v().
Referenced by is_tripartite(), angel::markowitz_degree(), angel::overall_markowitz_-degree(), and angel::accu_graph_t::set_jacobi_entries().
Here is the call graph for this function:
angel::line_graph_t::vertex_type angel::line_graph_t::v
9.43.4.8 void angel::line_graph_t::copy_properties (const line_graph_t & _g)
Copies properties explicitly.
Definition at line 395 of file angel_types.cpp.
9.43.4.9 void angel::line_graph_t::clear_edges () [inline]
Removes edges explicitly.
Note:
It seems that BGL does not remove all edges in assignment.
Definition at line 361 of file angel_types.hpp.
Referenced by operator=(), and ∼line_graph_t().
9.43.4.10 void angel::line_graph_t::clear_graph ()
Remove all vertices that are not connected to dependent and inpedendent vertices.
Definition at line 291 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
332 angel Class Documentation
References dependents, angel::reachable_vertices(), angel::relevant_vertices(), v(),and X.
Here is the call graph for this function:
angel::line_graph_t::clear_graph
angel::reachable_vertices
angel::relevant_vertices
angel::line_graph_t::v
9.43.4.11 bool angel::line_graph_t::check () const
Check consistency of graph.
Definition at line 232 of file angel_types.cpp.
References dependents, v(), x(), and y().
Referenced by angel::accu_graph_t::set_jacobi_entries().
Here is the call graph for this function:
angel::line_graph_t::check
angel::line_graph_t::v
angel::line_graph_t::x
angel::line_graph_t::y
9.43.4.12 bool angel::line_graph_t::is_tripartite () const
Whether graph is tripartite.
Definition at line 279 of file angel_types.cpp.
References angel::dependent, angel::independent, angel::intermediate, and vertex_-type().
Referenced by angel::accu_graph_t::set_jacobi_entries().
Here is the call graph for this function:
angel::line_graph_t::is_tripartite angel::line_graph_t::vertex_type angel::line_graph_t::v
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.43 angel::line_graph_t Class Reference 333
9.43.5 Friends And Related Function Documentation
9.43.5.1 int face_elimination (line_graph_t::face_t f, int kr, line_graph_t & lg,accu_graph_t & ac) [friend]
Eliminate face f from line graph lg
Parameters:
f the face
kr is a request for the number of a new node or the number of the absorbing theface, i.e. if face elimination inserts a new node into lg it should be numberwith kr and if a new node is immediately absorbed by some node k then itshould be k = kr. If the request cannot be satisfied the face is not eliminated.kr = -1 means no request.
lg the line graph
ac is a container for graphs representing the accumulation code
Returns:
The number of node inserted or where the absorption took place.
9.43.5.2 void unpack_graph (const graph_package_t & gp, line_graph_t & lg)[friend]
9.43.6 Member Data Documentation
9.43.6.1 int angel::line_graph_t::X [private]
Definition at line 259 of file angel_types.hpp.
Referenced by clear_graph(), line_graph_t(), operator=(), swap(), and x().
9.43.6.2 bool angel::line_graph_t::cons_ok [private]
Definition at line 260 of file angel_types.hpp.
Referenced by angel::face_elimination(), line_graph_t(), operator=(), and swap().
9.43.6.3 std::vector<edge_t> angel::line_graph_t::dependents
set of dependent vertices
Definition at line 293 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
334 angel Class Documentation
Referenced by check(), clear_graph(), line_graph_t(), operator=(), an-gel::operator==(), swap(), and y().
9.43.6.4 const c_graph_t∗ angel::line_graph_t::cgp
Pointer to corresponding c-graph.
Definition at line 300 of file angel_types.hpp.
Referenced by angel::face_elimination(), operator=(), and swap().
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.44 angel::lme_op_t Struct Reference 335
9.44 angel::lme_op_t Struct Reference
Public Member Functions
• int operator() (edge_bool_t eb, const c_graph_t &cg)
9.44.1 Detailed Description
Definition at line 577 of file heuristics.cpp.
9.44.2 Member Function Documentation
9.44.2.1 int angel::lme_op_t::operator() (edge_bool_t eb, const c_graph_t & cg)[inline]
Definition at line 578 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
336 angel Class Documentation
9.45 angel::lmf_op_t Struct Reference
Public Member Functions
• lmf_op_t (const line_graph_t &lg)• int operator() (line_graph_t::face_t f, const line_graph_t &lg)
Public Attributes
• vector< int > mdegree
9.45.1 Detailed Description
Definition at line 970 of file heuristics.cpp.
9.45.2 Constructor & Destructor Documentation
9.45.2.1 angel::lmf_op_t::lmf_op_t (const line_graph_t & lg) [inline]
Definition at line 972 of file heuristics.cpp.
References angel::markowitz_on_line_graph().
Here is the call graph for this function:
angel::lmf_op_t::lmf_op_t angel::markowitz_on_line_graph
9.45.3 Member Function Documentation
9.45.3.1 int angel::lmf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]
Definition at line 974 of file heuristics.cpp.
References angel::face_vertex_name(), and THROW_DEBUG_EXCEPT_MACRO.
Here is the call graph for this function:
angel::lmf_op_t::operator() angel::face_vertex_name
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.45 angel::lmf_op_t Struct Reference 337
9.45.4 Member Data Documentation
9.45.4.1 vector<int> angel::lmf_op_t::mdegree
Definition at line 971 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
338 angel Class Documentation
9.46 angel::lmmd_edge_t Class Reference
Class for lowest Markowitz with minimal damage in mixed edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lmmd_edge_t:
angel::lmmd_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lmmd_edge_t:
angel::lmmd_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lmmd_edge_t (double w)
Weight is set in the constructor.
• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,vector< edge_bool_t > &ev2)
Private Attributes
• double weight
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.46 angel::lmmd_edge_t Class Reference 339
9.46.1 Detailed Description
Class for lowest Markowitz with minimal damage in mixed edge elimination.
It searches for edges with minimal sum of Markowitz degree and weighted damaged.The damage of a edge’s elimination is defined as the increase of Markowitz degrees ofall other edges. Note that this values can be different for front and back elimination
Definition at line 643 of file heuristics.hpp.
9.46.2 Constructor & Destructor Documentation
9.46.2.1 angel::lmmd_edge_t::lmmd_edge_t (double w) [inline]
Weight is set in the constructor.
Definition at line 647 of file heuristics.hpp.
9.46.3 Member Function Documentation
9.46.3.1 int angel::lmmd_edge_t::operator() (const vector< edge_bool_t > &ev1, const c_graph_t & cg, vector< edge_bool_t > & ev2)
Heuristic computed in operator
Parameters:
ev1 Set of edges that can be eliminated
cg c-graph
ev2 Set of edges with lowest lmmd-value
Returns:
Size of vv2
Definition at line 690 of file heuristics.cpp.
References angel::standard_heuristic_op(), and weight.
Here is the call graph for this function:
angel::lmmd_edge_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
340 angel Class Documentation
9.46.4 Member Data Documentation
9.46.4.1 double angel::lmmd_edge_t::weight [private]
Definition at line 644 of file heuristics.hpp.
Referenced by operator()().
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.47 angel::lmmd_vertex_t Class Reference 341
9.47 angel::lmmd_vertex_t Class Reference
Class for lowest Markowitz with minimal damage in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lmmd_vertex_t:
angel::lmmd_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lmmd_vertex_t:
angel::lmmd_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lmmd_vertex_t (double w)
Weight is set in the constructor.
• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,vector< c_graph_t::vertex_t > &vv2)
Private Attributes
• double weight
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
342 angel Class Documentation
9.47.1 Detailed Description
Class for lowest Markowitz with minimal damage in vertex elimination.
It searches for vertices with minimal sum of Markowitz degree and weighted damaged.The damage of a vertex’s elimination is defined as the increase of Markowitz degreesof all other vertices.
Definition at line 194 of file heuristics.hpp.
9.47.2 Constructor & Destructor Documentation
9.47.2.1 angel::lmmd_vertex_t::lmmd_vertex_t (double w) [inline]
Weight is set in the constructor.
Definition at line 198 of file heuristics.hpp.
9.47.3 Member Function Documentation
9.47.3.1 int angel::lmmd_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Heuristic computed in operator
Parameters:
vv1 Set of vertices that can be eliminated
cg c-graph
vv2 Set of vertices with lowest lmmd-value
Returns:
Size of vv2
Definition at line 330 of file heuristics.cpp.
References angel::standard_heuristic_op(), and weight.
Here is the call graph for this function:
angel::lmmd_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.47 angel::lmmd_vertex_t Class Reference 343
9.47.4 Member Data Documentation
9.47.4.1 double angel::lmmd_vertex_t::weight [private]
Definition at line 195 of file heuristics.hpp.
Referenced by operator()().
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
344 angel Class Documentation
9.48 angel::lmmde_op_t Struct Reference
Public Member Functions
• lmmde_op_t (double _w)
• int operator() (edge_bool_t eb, const c_graph_t &cg)
Public Attributes
• double w
9.48.1 Detailed Description
Definition at line 682 of file heuristics.cpp.
9.48.2 Constructor & Destructor Documentation
9.48.2.1 angel::lmmde_op_t::lmmde_op_t (double _w) [inline]
Definition at line 684 of file heuristics.cpp.
9.48.3 Member Function Documentation
9.48.3.1 int angel::lmmde_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]
Definition at line 685 of file heuristics.cpp.
References angel::lmmd_edge_back(), and angel::lmmd_edge_front().
Here is the call graph for this function:
angel::lmmde_op_t::operator()
angel::lmmd_edge_back
angel::lmmd_edge_front
angel::markowitz_enlargement_back
angel::sum_over_all_in_edges
angel::new_in_edges
angel::markowitz_enlargement_front
angel::sum_over_all_out_edges
angel::new_out_edges
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.48 angel::lmmde_op_t Struct Reference 345
9.48.4 Member Data Documentation
9.48.4.1 double angel::lmmde_op_t::w
Definition at line 683 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
346 angel Class Documentation
9.49 angel::lmmdv_op_t Struct Reference
Public Member Functions
• lmmdv_op_t (double _w)
• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
Public Attributes
• double w
9.49.1 Detailed Description
Definition at line 321 of file heuristics.cpp.
9.49.2 Constructor & Destructor Documentation
9.49.2.1 angel::lmmdv_op_t::lmmdv_op_t (double _w) [inline]
Definition at line 323 of file heuristics.cpp.
9.49.3 Member Function Documentation
9.49.3.1 int angel::lmmdv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]
Definition at line 324 of file heuristics.cpp.
References angel::markowitz_enlargement_all_neighbors().
Here is the call graph for this function:
angel::lmmdv_op_t::operator() angel::markowitz_enlargement_all_neighbors
angel::markowitz_enlargement_back
angel::markowitz_enlargement_front
angel::new_in_edges
angel::new_out_edges
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.49 angel::lmmdv_op_t Struct Reference 347
9.49.4 Member Data Documentation
9.49.4.1 double angel::lmmdv_op_t::w
Definition at line 322 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
348 angel Class Documentation
9.50 angel::lmv_op_t Struct Reference
Public Member Functions
• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
9.50.1 Detailed Description
Definition at line 62 of file heuristics.cpp.
9.50.2 Member Function Documentation
9.50.2.1 int angel::lmv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]
Definition at line 63 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.51 angel::LOG_temperature_t Class Reference 349
9.51 angel::LOG_temperature_t Class Reference
Functor that returns logarithmic temperature for LSA.
#include <sa.hpp>
Public Member Functions
• LOG_temperature_t (double p_gamma)Set Gamma in constructor.
• double operator() (int it) constLOG temperature in iteration it.
Private Attributes
• double gamma
9.51.1 Detailed Description
Functor that returns logarithmic temperature for LSA.
Definition at line 33 of file sa.hpp.
9.51.2 Constructor & Destructor Documentation
9.51.2.1 angel::LOG_temperature_t::LOG_temperature_t (double p_gamma)[inline]
Set Gamma in constructor.
Definition at line 37 of file sa.hpp.
9.51.3 Member Function Documentation
9.51.3.1 double angel::LOG_temperature_t::operator() (int it) const[inline]
LOG temperature in iteration it.
Definition at line 39 of file sa.hpp.
References gamma.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
350 angel Class Documentation
9.51.4 Member Data Documentation
9.51.4.1 double angel::LOG_temperature_t::gamma [private]
Definition at line 34 of file sa.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/sa.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.52 angel::lowest_fill_in_vertex_t Class Reference 351
9.52 angel::lowest_fill_in_vertex_t Class Reference
Operator class for lowest fill-in in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_fill_in_vertex_t:
angel::lowest_fill_in_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_fill_in_vertex_t:
angel::lowest_fill_in_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_fill_in_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.52.1 Detailed Description
Operator class for lowest fill-in in vertex elimination.
operator() is equivalent to lowest_fill_in_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
352 angel Class Documentation
See also:
lowest_fill_in_vertexforward_mode_vertex_t
Definition at line 168 of file heuristics.hpp.
9.52.2 Constructor & Destructor Documentation
9.52.2.1 angel::lowest_fill_in_vertex_t::lowest_fill_in_vertex_t () [inline]
Definition at line 170 of file heuristics.hpp.
9.52.3 Member Function Documentation
9.52.3.1 int angel::lowest_fill_in_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 176 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_fill_in_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.53 angel::lowest_markowitz_edge_t Class Reference 353
9.53 angel::lowest_markowitz_edge_t Class Reference
Operator class for lowest Markowitz in mixed edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_markowitz_edge_t:
angel::lowest_markowitz_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_markowitz_edge_t:
angel::lowest_markowitz_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_markowitz_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.53.1 Detailed Description
Operator class for lowest Markowitz in mixed edge elimination.
operator() is equivalent to lowest_markowitz_edge ( const vector<edge_bool_t>&ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
354 angel Class Documentation
See also:
forward_mode_vertex_t
Definition at line 491 of file heuristics.hpp.
9.53.2 Constructor & Destructor Documentation
9.53.2.1 angel::lowest_markowitz_edge_t::lowest_markowitz_edge_t ()[inline]
Definition at line 493 of file heuristics.hpp.
9.53.3 Member Function Documentation
9.53.3.1 int angel::lowest_markowitz_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)
Definition at line 583 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_markowitz_edge_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > Class TemplateReference 355
9.54 angel::lowest_markowitz_face_complete_t<Heuristic_t > Class Template Reference
Lowest Markowitz for face elimination with completion of vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:
angel::lowest_markowitz_face_complete_t< Heuristic_t >
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:
angel::lowest_markowitz_face_complete_t< Heuristic_t >
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Heuristic_t
tiebreaker
Public Member Functions
• lowest_markowitz_face_complete_t (Heuristic_t t)
Constructor with tie-breaker heuristic.
• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t&lg, vector< line_graph_t::face_t > &fv2)
Heuristic computed in operator.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
356 angel Class Documentation
Private Attributes
• int lastv• Heuristic_t tiebreaker
9.54.1 Detailed Description
template<class Heuristic_t> class angel::lowest_markowitz_face_complete_t<Heuristic_t >
Lowest Markowitz for face elimination with completion of vertex elimination.
Computation of Markowitz degree as in lowest_markowitz_face(). Tie-breaker heuris-tic used to find unique vertex j to eliminate. Multiple faces can be returned by thetie-breaker but they belong to the same vertex, e.g. like reverse_mode_face_whole_-vertex(). The vertex j is saved and all following calls return faces belonging to j as longas their are any in fv1. If all faces belonging to j are contained in fv1, the vertex iscompletely eliminated.
Definition at line 932 of file heuristics.hpp.
9.54.2 Constructor & Destructor Documentation
9.54.2.1 template<class Heuristic_t> angel::lowest_markowitz_face_-complete_t< Heuristic_t >::lowest_markowitz_face_complete_t(Heuristic_t t) [inline]
Constructor with tie-breaker heuristic.
Definition at line 937 of file heuristics.hpp.
9.54.3 Member Function Documentation
9.54.3.1 template<typename Heuristic_t> int angel::lowest_markowitz_-face_complete_t< Heuristic_t >::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2) [inline]
Heuristic computed in operator.
Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > Class TemplateReference 357
fv2 Set of faces with the lowest Markowitz degree (see description)
Returns:
Size of fv2
Definition at line 12 of file heuristics_impl.hpp.
References angel::lowest_markowitz_face_complete_t< Heuristic_t >::lastv,angel::markowitz_on_line_graph(), THROW_DEBUG_EXCEPT_MACRO,THROW_EXCEPT_MACRO, and angel::lowest_markowitz_face_complete_t<Heuristic_t >::tiebreaker.
Here is the call graph for this function:
angel::lowest_markowitz_face_complete_t::operator() angel::markowitz_on_line_graph
9.54.4 Member Data Documentation
9.54.4.1 template<class Heuristic_t> int angel::lowest_-markowitz_face_complete_t< Heuristic_t >::lastv[private]
Definition at line 933 of file heuristics.hpp.
Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_-t >::operator()().
9.54.4.2 template<class Heuristic_t> Heuristic_t angel::lowest_-markowitz_face_complete_t< Heuristic_t >::tiebreaker[private]
Definition at line 934 of file heuristics.hpp.
Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_-t >::operator()().
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/include/heuristics_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
358 angel Class Documentation
9.55 angel::lowest_markowitz_face_t Class Reference
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_markowitz_face_t:
angel::lowest_markowitz_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_markowitz_face_t:
angel::lowest_markowitz_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_markowitz_face_t ()
• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t&lg, vector< line_graph_t::face_t > &fv2)
9.55.1 Detailed Description
Definition at line 874 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.55 angel::lowest_markowitz_face_t Class Reference 359
9.55.2 Constructor & Destructor Documentation
9.55.2.1 angel::lowest_markowitz_face_t::lowest_markowitz_face_t ()[inline]
Definition at line 876 of file heuristics.hpp.
9.55.3 Member Function Documentation
9.55.3.1 int angel::lowest_markowitz_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)
Definition at line 980 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_markowitz_face_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
360 angel Class Documentation
9.56 angel::lowest_markowitz_vertex_t Class Refer-ence
Operator class for lowest Markowitz in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_markowitz_vertex_t:
angel::lowest_markowitz_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_markowitz_vertex_t:
angel::lowest_markowitz_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_markowitz_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.56.1 Detailed Description
Operator class for lowest Markowitz in vertex elimination.
operator() is equivalent to lowest_markowitz_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.56 angel::lowest_markowitz_vertex_t Class Reference 361
See also:
lowest_markowitz_vertexforward_mode_vertex_t
Definition at line 116 of file heuristics.hpp.
9.56.2 Constructor & Destructor Documentation
9.56.2.1 angel::lowest_markowitz_vertex_t::lowest_markowitz_vertex_t ()[inline]
Definition at line 118 of file heuristics.hpp.
9.56.3 Member Function Documentation
9.56.3.1 int angel::lowest_markowitz_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 67 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_markowitz_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
362 angel Class Documentation
9.57 angel::lowest_relative_markowitz_edge_t ClassReference
Operator class for lowest relative Markowitz in mixed edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_relative_markowitz_edge_t:
angel::lowest_relative_markowitz_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_relative_markowitz_edge_t:
angel::lowest_relative_markowitz_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_relative_markowitz_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.57.1 Detailed Description
Operator class for lowest relative Markowitz in mixed edge elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.57 angel::lowest_relative_markowitz_edge_t Class Reference 363
operator() is equivalent to lowest_relative_markowitz_edge ( const vector<edge_-bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2)
See also:
forward_mode_vertex_t
Definition at line 567 of file heuristics.hpp.
9.57.2 Constructor & Destructor Documentation
9.57.2.1 angel::lowest_relative_markowitz_edge_t::lowest_relative_-markowitz_edge_t () [inline]
Definition at line 569 of file heuristics.hpp.
9.57.3 Member Function Documentation
9.57.3.1 int angel::lowest_relative_markowitz_edge_t::operator() (constvector< edge_bool_t > & ev1, const c_graph_t & cg, vector<edge_bool_t > & ev2)
Definition at line 614 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_relative_markowitz_edge_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
364 angel Class Documentation
9.58 angel::lowest_relative_markowitz_vertex_t ClassReference
Operator class for relative lowest Markowitz in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::lowest_relative_markowitz_vertex_t:
angel::lowest_relative_markowitz_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::lowest_relative_markowitz_vertex_t:
angel::lowest_relative_markowitz_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• lowest_relative_markowitz_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.58.1 Detailed Description
Operator class for relative lowest Markowitz in vertex elimination.
operator() is equivalent to lowest_relative_markowitz_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.58 angel::lowest_relative_markowitz_vertex_t Class Reference 365
See also:
lowest_relative_markowitz_vertexforward_mode_vertex_t
Definition at line 142 of file heuristics.hpp.
9.58.2 Constructor & Destructor Documentation
9.58.2.1 angel::lowest_relative_markowitz_vertex_t::lowest_relative_-markowitz_vertex_t () [inline]
Definition at line 144 of file heuristics.hpp.
9.58.3 Member Function Documentation
9.58.3.1 int angel::lowest_relative_markowitz_vertex_t::operator() (constvector< c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 95 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::lowest_relative_markowitz_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
366 angel Class Documentation
9.59 angel::lrm_op_t Struct Reference
Public Member Functions
• lrm_op_t (const c_graph_t &cg)• int operator() (bool front, c_graph_t::edge_t edge, const c_graph_t &cg)• int operator() (edge_bool_t eb, const c_graph_t &cg)• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
Public Attributes
• vector< int > indep• vector< int > dep
9.59.1 Detailed Description
Definition at line 81 of file heuristics.cpp.
9.59.2 Constructor & Destructor Documentation
9.59.2.1 angel::lrm_op_t::lrm_op_t (const c_graph_t & cg) [inline]
Definition at line 83 of file heuristics.cpp.
References angel::number_dependent_vertices(), and angel::number_independent_-vertices().
Here is the call graph for this function:
angel::lrm_op_t::lrm_op_t
angel::number_dependent_vertices
angel::number_independent_vertices angel::c_graph_t::x
9.59.3 Member Function Documentation
9.59.3.1 int angel::lrm_op_t::operator() (bool front, c_graph_t::edge_t edge,const c_graph_t & cg) [inline]
Definition at line 85 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.59 angel::lrm_op_t Struct Reference 367
9.59.3.2 int angel::lrm_op_t::operator() (edge_bool_t eb, const c_graph_t & cg)[inline]
Definition at line 88 of file heuristics.cpp.
9.59.3.3 int angel::lrm_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]
Definition at line 91 of file heuristics.cpp.
9.59.4 Member Data Documentation
9.59.4.1 vector<int> angel::lrm_op_t::indep
Definition at line 82 of file heuristics.cpp.
9.59.4.2 vector<int> angel::lrm_op_t::dep
Definition at line 82 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
368 angel Class Documentation
9.60 angel::markowitz_enlargement_back_t StructReference
Public Member Functions
• markowitz_enlargement_back_t (c_graph_t::edge_t e)• int operator() (c_graph_t::edge_t e2, const c_graph_t &cg) const
Public Attributes
• c_graph_t::edge_t _e
9.60.1 Detailed Description
Definition at line 308 of file heuristics.cpp.
9.60.2 Constructor & Destructor Documentation
9.60.2.1 angel::markowitz_enlargement_back_t::markowitz_enlargement_-back_t (c_graph_t::edge_t e) [inline]
Definition at line 310 of file heuristics.cpp.
9.60.3 Member Function Documentation
9.60.3.1 int angel::markowitz_enlargement_back_t::operator()(c_graph_t::edge_t e2, const c_graph_t & cg) const [inline]
Definition at line 311 of file heuristics.cpp.
References angel::markowitz_enlargement_back().
Here is the call graph for this function:
angel::markowitz_enlargement_back_t::operator() angel::markowitz_enlargement_back angel::new_in_edges
9.60.4 Member Data Documentation
9.60.4.1 c_graph_t::edge_t angel::markowitz_enlargement_back_t::_e
Definition at line 309 of file heuristics.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.60 angel::markowitz_enlargement_back_t Struct Reference 369
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
370 angel Class Documentation
9.61 angel::markowitz_enlargement_front_t StructReference
Public Member Functions
• markowitz_enlargement_front_t (c_graph_t::edge_t e)
• int operator() (c_graph_t::edge_t e2, const c_graph_t &cg) const
Public Attributes
• c_graph_t::edge_t _e
9.61.1 Detailed Description
Definition at line 301 of file heuristics.cpp.
9.61.2 Constructor & Destructor Documentation
9.61.2.1 angel::markowitz_enlargement_front_t::markowitz_-enlargement_front_t (c_graph_t::edge_t e)[inline]
Definition at line 303 of file heuristics.cpp.
9.61.3 Member Function Documentation
9.61.3.1 int angel::markowitz_enlargement_front_t::operator()(c_graph_t::edge_t e2, const c_graph_t & cg) const [inline]
Definition at line 304 of file heuristics.cpp.
References angel::markowitz_enlargement_front().
Here is the call graph for this function:
angel::markowitz_enlargement_front_t::operator() angel::markowitz_enlargement_front
angel::new_out_edges
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.61 angel::markowitz_enlargement_front_t Struct Reference 371
9.61.4 Member Data Documentation
9.61.4.1 c_graph_t::edge_t angel::markowitz_enlargement_front_t::_e
Definition at line 302 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
372 angel Class Documentation
9.62 angel::minimal_distance_edge_t Class Reference
Minimizes the maximal distance of vertices involved in an edge elimination The mo-tivation is that for small distances it is not very probable to re-insert one of new edgeslater.
#include <heuristics.hpp>
Inheritance diagram for angel::minimal_distance_edge_t:
angel::minimal_distance_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::minimal_distance_edge_t:
angel::minimal_distance_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• minimal_distance_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.62.1 Detailed Description
Minimizes the maximal distance of vertices involved in an edge elimination The mo-tivation is that for small distances it is not very probable to re-insert one of new edges
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.62 angel::minimal_distance_edge_t Class Reference 373
later.
Definition at line 749 of file heuristics.hpp.
9.62.2 Constructor & Destructor Documentation
9.62.2.1 angel::minimal_distance_edge_t::minimal_distance_edge_t ()[inline]
Definition at line 751 of file heuristics.hpp.
9.62.3 Member Function Documentation
9.62.3.1 int angel::minimal_distance_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)
Definition at line 830 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::minimal_distance_edge_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
374 angel Class Documentation
9.63 angel::minimal_distance_face_t Class Reference
Minimal distance for face elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::minimal_distance_face_t:
angel::minimal_distance_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::minimal_distance_face_t:
angel::minimal_distance_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• minimal_distance_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t
&lg, vector< line_graph_t::face_t > &fv2)
9.63.1 Detailed Description
Minimal distance for face elimination.
Parameters:
fv1 Set of faces that can be eliminated
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.63 angel::minimal_distance_face_t Class Reference 375
lg Line graph
fv2 Set of faces with minimal distance (see description)
Returns:
Size of fv2
In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces where k - i is minimal are returned. Themotivation is that for small k-i it is not very probable to re-insert this face later.
Definition at line 996 of file heuristics.hpp.
9.63.2 Constructor & Destructor Documentation
9.63.2.1 angel::minimal_distance_face_t::minimal_distance_face_t ()[inline]
Definition at line 998 of file heuristics.hpp.
9.63.3 Member Function Documentation
9.63.3.1 int angel::minimal_distance_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)
Definition at line 1115 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::minimal_distance_face_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
376 angel Class Documentation
9.64 angel::momr_edge_t Class Reference
Operator class for lowest Markowitz in mixed edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::momr_edge_t:
angel::momr_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::momr_edge_t:
angel::momr_edge_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• momr_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.64.1 Detailed Description
Operator class for lowest Markowitz in mixed edge elimination.
operator() is equivalent to momr_edge ( const vector<edge_bool_t>& ev1, const c_-graph_t& cg, vector<edge_bool_t>& ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.64 angel::momr_edge_t Class Reference 377
See also:
forward_mode_vertex_t
Definition at line 726 of file heuristics.hpp.
9.64.2 Constructor & Destructor Documentation
9.64.2.1 angel::momr_edge_t::momr_edge_t () [inline]
Definition at line 728 of file heuristics.hpp.
9.64.3 Member Function Documentation
9.64.3.1 int angel::momr_edge_t::operator() (const vector< edge_bool_t > &ev1, const c_graph_t & cg, vector< edge_bool_t > & ev2)
Definition at line 801 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::momr_edge_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
378 angel Class Documentation
9.65 angel::momr_face_t Class Reference
Operator class for maximal overall Markowitz degree reduction in face elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::momr_face_t:
angel::momr_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::momr_face_t:
angel::momr_face_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• momr_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t
&lg, vector< line_graph_t::face_t > &fv2)
9.65.1 Detailed Description
Operator class for maximal overall Markowitz degree reduction in face elimination.
operator() is equivalent to momr_face
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.65 angel::momr_face_t Class Reference 379
See also:
momr_faceforward_mode_vertex_t
Definition at line 961 of file heuristics.hpp.
9.65.2 Constructor & Destructor Documentation
9.65.2.1 angel::momr_face_t::momr_face_t () [inline]
Definition at line 963 of file heuristics.hpp.
9.65.3 Member Function Documentation
9.65.3.1 int angel::momr_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)
Definition at line 1095 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::momr_face_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
380 angel Class Documentation
9.66 angel::momr_vertex_t Class Reference
Operator class for maximal overall Markowitz degree reduction in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::momr_vertex_t:
angel::momr_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::momr_vertex_t:
angel::momr_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• momr_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
Maximal overall Markowitz degree reduction in vertex elimination.
9.66.1 Detailed Description
Operator class for maximal overall Markowitz degree reduction in vertex elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.66 angel::momr_vertex_t Class Reference 381
See also:
momr_vertexforward_mode_vertex_t
Definition at line 226 of file heuristics.hpp.
9.66.2 Constructor & Destructor Documentation
9.66.2.1 angel::momr_vertex_t::momr_vertex_t () [inline]
Definition at line 228 of file heuristics.hpp.
9.66.3 Member Function Documentation
9.66.3.1 int angel::momr_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Maximal overall Markowitz degree reduction in vertex elimination.
Parameters:
vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall Markowitz degree reduction
Returns:
Size of vv2
Definition at line 356 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::momr_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
382 angel Class Documentation
9.67 angel::momre_op_t Struct Reference
Public Member Functions
• int operator() (bool front, c_graph_t::edge_t edge, const c_graph_t &cg)• int operator() (edge_bool_t eb, const c_graph_t &cg)
9.67.1 Detailed Description
Definition at line 775 of file heuristics.cpp.
9.67.2 Member Function Documentation
9.67.2.1 int angel::momre_op_t::operator() (bool front, c_graph_t::edge_t edge,const c_graph_t & cg) [inline]
Definition at line 776 of file heuristics.cpp.
References angel::momr_edge_back(), and angel::momr_edge_front().
Here is the call graph for this function:
angel::momre_op_t::operator()
angel::momr_edge_back
angel::momr_edge_front
angel::momr_edge_f
9.67.2.2 int angel::momre_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]
Definition at line 778 of file heuristics.cpp.
References angel::momr_edge_back(), and angel::momr_edge_front().
Here is the call graph for this function:
angel::momre_op_t::operator()
angel::momr_edge_back
angel::momr_edge_front
angel::momr_edge_f
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.68 angel::momrf_op_t Struct Reference 383
9.68 angel::momrf_op_t Struct Reference
Public Member Functions
• int operator() (line_graph_t::face_t f, const line_graph_t &lg)
9.68.1 Detailed Description
Definition at line 1045 of file heuristics.cpp.
9.68.2 Member Function Documentation
9.68.2.1 int angel::momrf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]
Definition at line 1046 of file heuristics.cpp.
References angel::face_elimination(), angel::face_vertex_name(), angel::overall_-markowitz_degree(), angel::same_edge(), angel::sum_over_all_in_edges(),angel::sum_over_all_out_edges(), THROW_DEBUG_EXCEPT_MACRO,angel::write_graph(), and angel::write_vertex_property().
Here is the call graph for this function:
angel::momrf_op_t::operator()
angel::face_elimination
angel::face_vertex_name
angel::overall_markowitz_degree
angel::same_edge
angel::sum_over_all_in_edges
angel::sum_over_all_out_edges
angel::write_graph
angel::write_vertex_property
angel::remove_irrelevant_edges
angel::remove_unreachable_edges
angel::same_neighbors
angel::same_predecessors
angel::sorted_predecessor_set
angel::same_successors
angel::sorted_successor_set
angel::line_graph_t::v
angel::unique_vector
angel::predecessor_set
angel::successor_set
angel::write_vector
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
384 angel Class Documentation
9.69 angel::momrv_op_t Struct Reference
Public Member Functions
• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
9.69.1 Detailed Description
Definition at line 344 of file heuristics.cpp.
9.69.2 Member Function Documentation
9.69.2.1 int angel::momrv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]
Definition at line 345 of file heuristics.cpp.
References angel::markowitz_enlargement_all_neighbors(), angel::overall_-markowitz_degree(), THROW_DEBUG_EXCEPT_MACRO, and angel::vertex_-elimination().
Here is the call graph for this function:
angel::momrv_op_t::operator()
angel::markowitz_enlargement_all_neighbors
angel::overall_markowitz_degree
angel::vertex_elimination
angel::markowitz_enlargement_back
angel::markowitz_enlargement_front
angel::new_in_edges
angel::new_out_edges
angel::vertex_type
angel::back_edge_elimination angel::edge
angel::c_graph_t::vertex_type angel::c_graph_t::v
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.70 angel::moplr_vertex_t Class Reference 385
9.70 angel::moplr_vertex_t Class Reference
Operator class for maximal overall path length reduction in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::moplr_vertex_t:
angel::moplr_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::moplr_vertex_t:
angel::moplr_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• moplr_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.70.1 Detailed Description
Operator class for maximal overall path length reduction in vertex elimination.
operator() is equivalent to moplr_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
386 angel Class Documentation
See also:
moplr_vertexforward_mode_vertex_t
Definition at line 253 of file heuristics.hpp.
9.70.2 Constructor & Destructor Documentation
9.70.2.1 angel::moplr_vertex_t::moplr_vertex_t () [inline]
Definition at line 255 of file heuristics.hpp.
9.70.3 Member Function Documentation
9.70.3.1 int angel::moplr_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 436 of file heuristics.cpp.
References angel::standard_heuristic_op().
Here is the call graph for this function:
angel::moplr_vertex_t::operator() angel::standard_heuristic_op
angel::base_heuristic_t::set_objective
angel::base_heuristic_t::to_maximize
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.71 angel::neighbor_check_meta_t Struct Reference 387
9.71 angel::neighbor_check_meta_t Struct Reference
SA neighborhood either eliminate face from eh.cg or undo some previous elimination.
#include <sa.hpp>
Public Member Functions
• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)
9.71.1 Detailed Description
SA neighborhood either eliminate face from eh.cg or undo some previous elimination.
Parameters:
eh
Returns:
If it was successful
Some element is removed from the elimination sequence and then it is check if theremaining sequence can be applied to the original graph eh.og. In addition it ischecked if the resulting graph is a predecessor of eh.cg in the meta-graph. In caseof failure the elimination sequence is restored and another element is tried until someshortened sequence is applicable.
Definition at line 238 of file sa.hpp.
9.71.2 Member Function Documentation
9.71.2.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_check_meta_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]
Definition at line 146 of file sa_impl.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::elimination(), angel::random(), angel::random_high(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
388 angel Class Documentation
Here is the call graph for this function:
angel::neighbor_check_meta_t::operator()
angel::eliminatable_objects
angel::eliminateangel::elimination_history_t::elimination
angel::random
angel::random_high
angel::elimination_history_t::rebuild_graph
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
The documentation for this struct was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.72 angel::neighbor_last_removable_t Struct Reference 389
9.72 angel::neighbor_last_removable_t Struct Refer-ence
SA neighborhood either eliminate sth from eh.cg or undo last elimination.
#include <sa.hpp>
Public Member Functions
• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)
9.72.1 Detailed Description
SA neighborhood either eliminate sth from eh.cg or undo last elimination.
Parameters:
eh (for operator())
Returns:
If it was successful
Definition at line 181 of file sa.hpp.
9.72.2 Member Function Documentation
9.72.2.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_last_removable_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]
Definition at line 81 of file sa_impl.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t< Ad_-graph_t, El_spec_t >::elimination(), angel::random(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_history_t<Ad_graph_t, El_spec_t >::seq.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
390 angel Class Documentation
Here is the call graph for this function:
angel::neighbor_last_removable_t::operator()
angel::eliminatable_objects
angel::eliminateangel::elimination_history_t::elimination
angel::random
angel::elimination_history_t::rebuild_graph
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
The documentation for this struct was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.73 angel::neighbor_multi_step_t Class Reference 391
9.73 angel::neighbor_multi_step_t Class Reference
SA neighborhood for multiple eliminations or re-insertions.
#include <sa.hpp>
Public Member Functions
• neighbor_multi_step_t (int m)
Constructor defining the maximal number of steps.
• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)
Private Attributes
• int max_steps
9.73.1 Detailed Description
SA neighborhood for multiple eliminations or re-insertions.
It either eliminate between 1 and max_steps faces from eh.cg or undo last one tomax_steps eliminations.
Definition at line 191 of file sa.hpp.
9.73.2 Constructor & Destructor Documentation
9.73.2.1 angel::neighbor_multi_step_t::neighbor_multi_step_t (int m)[inline]
Constructor defining the maximal number of steps.
Definition at line 195 of file sa.hpp.
9.73.3 Member Function Documentation
9.73.3.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_multi_step_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]
Definition at line 98 of file sa_impl.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
392 angel Class Documentation
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t< Ad_-graph_t, El_spec_t >::elimination(), max_steps, angel::random(), angel::elimination_-history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq.
Here is the call graph for this function:
angel::neighbor_multi_step_t::operator()
angel::eliminatable_objects
angel::eliminateangel::elimination_history_t::elimination
angel::random
angel::elimination_history_t::rebuild_graph
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
9.73.4 Member Data Documentation
9.73.4.1 int angel::neighbor_multi_step_t::max_steps [private]
Definition at line 192 of file sa.hpp.
Referenced by operator()().
The documentation for this class was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.74 angel::neighbor_sequence_check_t Struct Reference 393
9.74 angel::neighbor_sequence_check_t Struct Refer-ence
SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.
#include <sa.hpp>
Public Member Functions
• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)
9.74.1 Detailed Description
SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.
Parameters:
eh
Returns:
If it was successful
Some element is removed from the elimination sequence and then it is checked if theremaining sequence can be applied to the original graph eh.og. In case of failurethe elimination sequence is restored and another element is tried until some shortenedsequence is applicable.
Definition at line 209 of file sa.hpp.
9.74.2 Member Function Documentation
9.74.2.1 template<class Ad_graph_t, class El_spec_t> bool angel::neighbor_-sequence_check_t::operator() (elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]
Definition at line 120 of file sa_impl.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::elimination(), angel::random(), angel::random_high(),
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
394 angel Class Documentation
angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.
Here is the call graph for this function:
angel::neighbor_sequence_check_t::operator()
angel::eliminatable_objects
angel::eliminateangel::elimination_history_t::elimination
angel::random
angel::random_high
angel::elimination_history_t::rebuild_graph
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination
angel::edge
angel::vertex_type
The documentation for this struct was generated from the following files:
• angel/include/sa.hpp• angel/include/sa_impl.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.75 angel::new_iks_t Class Reference 395
9.75 angel::new_iks_t Class Reference
Public Member Functions
• new_iks_t (int _i, int _k)
• int operator() (line_graph_t::face_t jks, const line_graph_t &lg) const
Private Attributes
• int i
• int k
9.75.1 Detailed Description
Definition at line 1020 of file heuristics.cpp.
9.75.2 Constructor & Destructor Documentation
9.75.2.1 angel::new_iks_t::new_iks_t (int _i, int _k) [inline]
Definition at line 1023 of file heuristics.cpp.
9.75.3 Member Function Documentation
9.75.3.1 int angel::new_iks_t::operator() (line_graph_t::face_t jks, constline_graph_t & lg) const [inline]
Definition at line 1024 of file heuristics.cpp.
References angel::dependent, angel::edge_vertex_name(), THROW_DEBUG_-EXCEPT_MACRO, and angel::vertex_type().
Here is the call graph for this function:
angel::new_iks_t::operator()
angel::edge_vertex_name
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
396 angel Class Documentation
9.75.4 Member Data Documentation
9.75.4.1 int angel::new_iks_t::i [private]
Definition at line 1021 of file heuristics.cpp.
9.75.4.2 int angel::new_iks_t::k [private]
Definition at line 1021 of file heuristics.cpp.
The documentation for this class was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.76 angel::new_pik_t Class Reference 397
9.76 angel::new_pik_t Class Reference
Public Member Functions
• new_pik_t (int _i, int _k)
• int operator() (line_graph_t::face_t pij, const line_graph_t &lg) const
Private Attributes
• int i
• int k
9.76.1 Detailed Description
Definition at line 994 of file heuristics.cpp.
9.76.2 Constructor & Destructor Documentation
9.76.2.1 angel::new_pik_t::new_pik_t (int _i, int _k) [inline]
Definition at line 997 of file heuristics.cpp.
9.76.3 Member Function Documentation
9.76.3.1 int angel::new_pik_t::operator() (line_graph_t::face_t pij, constline_graph_t & lg) const [inline]
Definition at line 998 of file heuristics.cpp.
References angel::edge_vertex_name(), angel::independent, THROW_DEBUG_-EXCEPT_MACRO, and angel::vertex_type().
Here is the call graph for this function:
angel::new_pik_t::operator()
angel::edge_vertex_name
angel::vertex_type
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
398 angel Class Documentation
9.76.4 Member Data Documentation
9.76.4.1 int angel::new_pik_t::i [private]
Definition at line 995 of file heuristics.cpp.
9.76.4.2 int angel::new_pik_t::k [private]
Definition at line 995 of file heuristics.cpp.
The documentation for this class was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.77 angel::no_output_t Struct Reference 399
9.77 angel::no_output_t Struct Reference
#include <angel_io.hpp>
Inheritance diagram for angel::no_output_t:
angel::no_output_t
angel::string_stream_output_t
angel::stream_output_t angel::vis_display_output_t
Public Member Functions
• void operator() (const std::string &)
• void operator() (const std::ostringstream &)
• template<class Ad_graph_t>void write_graph (const std::string &, const Ad_graph_t &)
9.77.1 Detailed Description
Definition at line 476 of file angel_io.hpp.
9.77.2 Member Function Documentation
9.77.2.1 void angel::no_output_t::operator() (const std::string &) [inline]
Reimplemented in angel::string_stream_output_t.
Definition at line 477 of file angel_io.hpp.
9.77.2.2 void angel::no_output_t::operator() (const std::ostringstream &)[inline]
Reimplemented in angel::string_stream_output_t.
Definition at line 478 of file angel_io.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
400 angel Class Documentation
9.77.2.3 template<class Ad_graph_t> void angel::no_output_t::write_graph(const std::string &, const Ad_graph_t &) [inline]
Reimplemented in angel::stream_output_t, and angel::vis_display_output_t.
Definition at line 480 of file angel_io.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_io.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.78 angel::not_lex_less_face_line_t Class Reference 401
9.78 angel::not_lex_less_face_line_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::not_lex_less_face_line_t:
angel::not_lex_less_face_line_t
angel::line_graph_t
lg
angel::c_graph_t
cgp
Public Member Functions
• not_lex_less_face_line_t (const line_graph_t &g)
• bool operator() (const line_graph_t::face_t &e1, const line_graph_t::face_t &e2)
Private Attributes
• const line_graph_t & lg
9.78.1 Detailed Description
Definition at line 497 of file angel_tools.hpp.
9.78.2 Constructor & Destructor Documentation
9.78.2.1 angel::not_lex_less_face_line_t::not_lex_less_face_line_t (constline_graph_t & g) [inline]
Definition at line 501 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
402 angel Class Documentation
9.78.3 Member Function Documentation
9.78.3.1 bool angel::not_lex_less_face_line_t::operator() (constline_graph_t::face_t & e1, const line_graph_t::face_t & e2)[inline]
Definition at line 503 of file angel_tools.hpp.
References angel::lex_less_face(), and lg.
Here is the call graph for this function:
angel::not_lex_less_face_line_t::operator() angel::lex_less_face
angel::write_graph
angel::write_vertex_property
angel::write_vector
9.78.4 Member Data Documentation
9.78.4.1 const line_graph_t& angel::not_lex_less_face_line_t::lg [private]
Definition at line 498 of file angel_tools.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.79 angel::oplrv_op_t Struct Reference 403
9.79 angel::oplrv_op_t Struct Reference
Public Member Functions
• oplrv_op_t (const c_graph_t &cg)• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)
Public Attributes
• vector< int > vni• vector< int > vli• vector< int > vno• vector< int > vlo
9.79.1 Detailed Description
Definition at line 424 of file heuristics.cpp.
9.79.2 Constructor & Destructor Documentation
9.79.2.1 angel::oplrv_op_t::oplrv_op_t (const c_graph_t & cg) [inline]
Definition at line 426 of file heuristics.cpp.
References angel::in_out_path_lengths().
Here is the call graph for this function:
angel::oplrv_op_t::oplrv_op_t angel::in_out_path_lengths angel::c_graph_t::x
9.79.3 Member Function Documentation
9.79.3.1 int angel::oplrv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]
Definition at line 428 of file heuristics.cpp.
References angel::oplr_edge_front().
Here is the call graph for this function:
angel::oplrv_op_t::operator() angel::oplr_edge_front angel::oplr_face angel::edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
404 angel Class Documentation
9.79.4 Member Data Documentation
9.79.4.1 vector<int> angel::oplrv_op_t::vni
Definition at line 425 of file heuristics.cpp.
9.79.4.2 vector<int> angel::oplrv_op_t::vli
Definition at line 425 of file heuristics.cpp.
9.79.4.3 vector<int> angel::oplrv_op_t::vno
Definition at line 425 of file heuristics.cpp.
9.79.4.4 vector<int> angel::oplrv_op_t::vlo
Definition at line 425 of file heuristics.cpp.
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 405
9.80 angel::predecessor_t< Ad_graph_t > Class Tem-plate Reference
#include <angel_types.hpp>
Collaboration diagram for angel::predecessor_t< Ad_graph_t >:
angel::predecessor_t< Ad_graph_t >
Ad_graph_t
adg
Public Types
• typedef Ad_graph_t::vertex_descriptor vd_t• typedef Ad_graph_t::edge_descriptor ed_t• typedef boost::graph_traits< Ad_graph_t >::vertex_iterator vi_t• typedef boost::graph_traits< Ad_graph_t >::edge_iterator gei_t• typedef boost::graph_traits< Ad_graph_t >::in_edge_iterator ei_t• typedef boost::graph_traits< Ad_graph_t >::out_edge_iterator rei_t• typedef boost::graph_traits< Ad_graph_t >::degree_size_type ds_t
Public Member Functions
• predecessor_t (const Ad_graph_t &_adg)• ds_t degree (vd_t v) const• std::pair< ei_t, ei_t > edges (vd_t v) const• vd_t neighbor (ed_t e) const• vd_t neighbor (ei_t ei) const• ds_t rdegree (vd_t v) const• std::pair< rei_t, rei_t > redges (vd_t v) const• vd_t rneighbor (ed_t e) const• vd_t rneighbor (rei_t rei) const• const std::vector< vd_t > & first () const• const std::vector< vd_t > & last () const• void clear_vertices (const std::vector< vd_t > &vv)
Public Attributes
• const Ad_graph_t & adg
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
406 angel Class Documentation
Private Attributes
• std::vector< vd_t > independents
9.80.1 Detailed Description
template<typename Ad_graph_t> class angel::predecessor_t< Ad_graph_t >
Definition at line 464 of file angel_types.hpp.
9.80.2 Member Typedef Documentation
9.80.2.1 template<typename Ad_graph_t> typedef Ad_graph_-t::vertex_descriptor angel::predecessor_t< Ad_graph_t>::vd_t
Definition at line 466 of file angel_types.hpp.
9.80.2.2 template<typename Ad_graph_t> typedef Ad_graph_-t::edge_descriptor angel::predecessor_t< Ad_graph_t>::ed_t
Definition at line 467 of file angel_types.hpp.
9.80.2.3 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::vertex_iterator angel::predecessor_t< Ad_graph_t>::vi_t
Definition at line 468 of file angel_types.hpp.
9.80.2.4 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::edge_iterator angel::predecessor_t< Ad_graph_t>::gei_t
Definition at line 469 of file angel_types.hpp.
9.80.2.5 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::in_edge_iterator angel::predecessor_t< Ad_graph_t>::ei_t
Definition at line 470 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 407
9.80.2.6 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::out_edge_iterator angel::predecessor_t< Ad_graph_t>::rei_t
Definition at line 471 of file angel_types.hpp.
9.80.2.7 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::degree_size_type angel::predecessor_t< Ad_graph_t>::ds_t
Definition at line 472 of file angel_types.hpp.
9.80.3 Constructor & Destructor Documentation
9.80.3.1 template<typename Ad_graph_t> angel::predecessor_t< Ad_graph_t>::predecessor_t (const Ad_graph_t & _adg) [inline]
Definition at line 478 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg, and angel::predecessor_t<Ad_graph_t >::independents.
9.80.4 Member Function Documentation
9.80.4.1 template<typename Ad_graph_t> ds_t angel::predecessor_t<Ad_graph_t >::degree (vd_t v) const [inline]
Definition at line 485 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.2 template<typename Ad_graph_t> std::pair<ei_t, ei_t>angel::predecessor_t< Ad_graph_t >::edges (vd_t v) const[inline]
Definition at line 487 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.3 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::neighbor (ed_t e) const [inline]
Definition at line 489 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
408 angel Class Documentation
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.4 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::neighbor (ei_t ei) const [inline]
Definition at line 491 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.5 template<typename Ad_graph_t> ds_t angel::predecessor_t<Ad_graph_t >::rdegree (vd_t v) const [inline]
Definition at line 493 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.6 template<typename Ad_graph_t> std::pair<rei_t, rei_t>angel::predecessor_t< Ad_graph_t >::redges (vd_t v) const[inline]
Definition at line 495 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.7 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::rneighbor (ed_t e) const [inline]
Definition at line 497 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.8 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::rneighbor (rei_t rei) const [inline]
Definition at line 499 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.4.9 template<typename Ad_graph_t> const std::vector<vd_t>&angel::predecessor_t< Ad_graph_t >::first () const [inline]
Definition at line 501 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 409
9.80.4.10 template<typename Ad_graph_t> const std::vector<vd_t>&angel::predecessor_t< Ad_graph_t >::last () const [inline]
Definition at line 503 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::independents.
9.80.4.11 template<typename Ad_graph_t> void angel::predecessor_t<Ad_graph_t >::clear_vertices (const std::vector< vd_t > & vv)[inline]
Definition at line 505 of file angel_types.hpp.
References angel::predecessor_t< Ad_graph_t >::adg.
9.80.5 Member Data Documentation
9.80.5.1 template<typename Ad_graph_t> std::vector<vd_t>angel::predecessor_t< Ad_graph_t >::independents [private]
Definition at line 474 of file angel_types.hpp.
Referenced by angel::predecessor_t< Ad_graph_t >::last(), and angel::predecessor_-t< Ad_graph_t >::predecessor_t().
9.80.5.2 template<typename Ad_graph_t> const Ad_graph_t&angel::predecessor_t< Ad_graph_t >::adg
Definition at line 476 of file angel_types.hpp.
Referenced by angel::predecessor_t< Ad_graph_t >::clear_vertices(),angel::predecessor_t< Ad_graph_t >::degree(), angel::predecessor_t< Ad_graph_t>::edges(), angel::predecessor_t< Ad_graph_t >::first(), angel::predecessor_t<Ad_graph_t >::neighbor(), angel::predecessor_t< Ad_graph_t >::predecessor_t(),angel::predecessor_t< Ad_graph_t >::rdegree(), angel::predecessor_t< Ad_graph_t>::redges(), and angel::predecessor_t< Ad_graph_t >::rneighbor().
The documentation for this class was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
410 angel Class Documentation
9.81 angel::random_init_t Struct Reference
#include <graph_generator.hpp>
Public Member Functions
• random_init_t ()
Public Attributes
• int dummy
9.81.1 Detailed Description
Definition at line 74 of file graph_generator.hpp.
9.81.2 Constructor & Destructor Documentation
9.81.2.1 angel::random_init_t::random_init_t () [inline]
Definition at line 76 of file graph_generator.hpp.
9.81.3 Member Data Documentation
9.81.3.1 int angel::random_init_t::dummy
Definition at line 75 of file graph_generator.hpp.
The documentation for this struct was generated from the following file:
• angel/include/graph_generator.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.82 angel::Rerouting Class Reference 411
9.82 angel::Rerouting Class Reference
Graph-independent rerouting.
#include <angel_types.hpp>
Public Member Functions
• Rerouting ()• Rerouting (const c_graph_t::edge_t e, const c_graph_t::edge_t pivot_e, bool is-
Pre, const c_graph_t &angelLCG)• Rerouting (const edge_reroute_t &er, const c_graph_t &angelLCG)• std::string debug () const• bool isPre () const• c_graph_t::edge_t getE (const c_graph_t &angelLCG) const• c_graph_t::edge_t getPivotE (const c_graph_t &angelLCG) const• edge_reroute_t getER (const c_graph_t &angelLCG) const• unsigned int getI () const• unsigned int getJ () const• unsigned int getK () const• bool operator== (const Rerouting &anotherRerouting) const
Private Member Functions
• void init (const c_graph_t::edge_t &e, const c_graph_t::edge_t &pivot_e, boolisPre, const c_graph_t &angelLCG)
Private Attributes
• unsigned int i• unsigned int j• unsigned int k• bool pre
9.82.1 Detailed Description
Graph-independent rerouting.
Class for representing a rerouting. The relevant edges are represented by the unsignedints that correspond to their source and target. This allows us to represent a reroutingindependently of a particular graph instance.
Definition at line 767 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
412 angel Class Documentation
9.82.2 Constructor & Destructor Documentation
9.82.2.1 angel::Rerouting::Rerouting ()
Definition at line 532 of file angel_types.cpp.
9.82.2.2 angel::Rerouting::Rerouting (const c_graph_t::edge_t e, constc_graph_t::edge_t pivot_e, bool isPre, const c_graph_t & angelLCG)
Definition at line 535 of file angel_types.cpp.
References init().
Here is the call graph for this function:
angel::Rerouting::Rerouting angel::Rerouting::init
9.82.2.3 angel::Rerouting::Rerouting (const edge_reroute_t & er, constc_graph_t & angelLCG)
Definition at line 542 of file angel_types.cpp.
References angel::edge_reroute_t::e, init(), angel::edge_reroute_t::isPre, andangel::edge_reroute_t::pivot_e.
Here is the call graph for this function:
angel::Rerouting::Rerouting angel::Rerouting::init
9.82.3 Member Function Documentation
9.82.3.1 std::string angel::Rerouting::debug () const
Definition at line 547 of file angel_types.cpp.
References i, j, k, and pre.
Referenced by angel::Transformation::debug().
9.82.3.2 bool angel::Rerouting::isPre () const
Definition at line 554 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.82 angel::Rerouting Class Reference 413
References pre.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and operator==().
9.82.3.3 c_graph_t::edge_t angel::Rerouting::getE (const c_graph_t &angelLCG) const
Definition at line 558 of file angel_types.cpp.
References angel::getEdge(), i, and k.
Referenced by getER().
Here is the call graph for this function:
angel::Rerouting::getE angel::getEdge angel::edge
9.82.3.4 c_graph_t::edge_t angel::Rerouting::getPivotE (const c_graph_t &angelLCG) const
Definition at line 563 of file angel_types.cpp.
References angel::getEdge(), i, j, k, and pre.
Referenced by getER().
Here is the call graph for this function:
angel::Rerouting::getPivotE angel::getEdge angel::edge
9.82.3.5 edge_reroute_t angel::Rerouting::getER (const c_graph_t &angelLCG) const
Definition at line 568 of file angel_types.cpp.
References getE(), getPivotE(), and pre.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
414 angel Class Documentation
Here is the call graph for this function:
angel::Rerouting::getER
angel::Rerouting::getE
angel::Rerouting::getPivotE
angel::getEdge angel::edge
9.82.3.6 unsigned int angel::Rerouting::getI () const
Definition at line 572 of file angel_types.cpp.
References i.
Referenced by operator==().
9.82.3.7 unsigned int angel::Rerouting::getJ () const
Definition at line 576 of file angel_types.cpp.
References j.
Referenced by operator==().
9.82.3.8 unsigned int angel::Rerouting::getK () const
Definition at line 580 of file angel_types.cpp.
References k.
Referenced by operator==().
9.82.3.9 bool angel::Rerouting::operator== (const Rerouting &anotherRerouting) const
Definition at line 584 of file angel_types.cpp.
References getI(), getJ(), getK(), and isPre().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.82 angel::Rerouting Class Reference 415
Here is the call graph for this function:
angel::Rerouting::operator==
angel::Rerouting::getI
angel::Rerouting::getJ
angel::Rerouting::getK
angel::Rerouting::isPre
9.82.3.10 void angel::Rerouting::init (const c_graph_t::edge_t & e, constc_graph_t::edge_t & pivot_e, bool isPre, const c_graph_t &angelLCG) [private]
Definition at line 594 of file angel_types.cpp.
References i, j, k, pre, and THROW_EXCEPT_MACRO.
Referenced by Rerouting().
9.82.4 Member Data Documentation
9.82.4.1 unsigned int angel::Rerouting::i [private]
Definition at line 803 of file angel_types.hpp.
Referenced by debug(), getE(), getI(), getPivotE(), and init().
9.82.4.2 unsigned int angel::Rerouting::j [private]
Definition at line 803 of file angel_types.hpp.
Referenced by debug(), getJ(), getPivotE(), and init().
9.82.4.3 unsigned int angel::Rerouting::k [private]
Definition at line 803 of file angel_types.hpp.
Referenced by debug(), getE(), getK(), getPivotE(), and init().
9.82.4.4 bool angel::Rerouting::pre [private]
Definition at line 804 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
416 angel Class Documentation
Referenced by debug(), getER(), getPivotE(), init(), and isPre().
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.83 angel::reverse_mode_edge_t Class Reference 417
9.83 angel::reverse_mode_edge_t Class Reference
Operator class for mixed reverse edge elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::reverse_mode_edge_t:
angel::reverse_mode_edge_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Collaboration diagram for angel::reverse_mode_edge_t:
angel::reverse_mode_edge_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Objective_t
my_objective
Public Member Functions
• reverse_mode_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,
vector< edge_bool_t > &ev2)
9.83.1 Detailed Description
Operator class for mixed reverse edge elimination.
operator() is equivalent to reverse_mode_edge ( const vector<pair<c_graph_t::edge_-t,bool> >& ev1, const c_graph_t& cg, vector<pair<c_graph_t::edge_t,bool> >&ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
418 angel Class Documentation
See also:
forward_mode_vertex_t
Definition at line 409 of file heuristics.hpp.
9.83.2 Constructor & Destructor Documentation
9.83.2.1 angel::reverse_mode_edge_t::reverse_mode_edge_t () [inline]
Definition at line 411 of file heuristics.hpp.
9.83.3 Member Function Documentation
9.83.3.1 int angel::reverse_mode_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)
Definition at line 528 of file heuristics.cpp.
References angel::lex_greater(), angel::rme_obj(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().
Here is the call graph for this function:
angel::reverse_mode_edge_t::operator()
angel::lex_greater
angel::rme_obj
angel::base_heuristic_t< double >::set_empty_objective
angel::base_heuristic_t< double >::set_objective
angel::edge
angel::c_graph_t::x
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.84 angel::reverse_mode_face_t Class Reference 419
9.84 angel::reverse_mode_face_t Class Reference
Operator class for reverse mode in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::reverse_mode_face_t:
angel::reverse_mode_face_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Collaboration diagram for angel::reverse_mode_face_t:
angel::reverse_mode_face_t
angel::base_heuristic_t< double >
angel::base_heuristic_t< Objective_t >
< double >
Objective_t
my_objective
Public Member Functions
• reverse_mode_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t
&lg, vector< line_graph_t::face_t > &fv2)
9.84.1 Detailed Description
Operator class for reverse mode in vertex elimination.
operator() is equivalent to reverse_mode_face
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
420 angel Class Documentation
See also:
reverse_mode_faceforward_mode_vertex_t
Definition at line 821 of file heuristics.hpp.
9.84.2 Constructor & Destructor Documentation
9.84.2.1 angel::reverse_mode_face_t::reverse_mode_face_t () [inline]
Definition at line 823 of file heuristics.hpp.
9.84.3 Member Function Documentation
9.84.3.1 int angel::reverse_mode_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)
Definition at line 902 of file heuristics.cpp.
References angel::fmf_obj(), angel::lex_less_face(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().
Here is the call graph for this function:
angel::reverse_mode_face_t::operator()
angel::fmf_obj
angel::lex_less_face
angel::base_heuristic_t< double >::set_empty_objective
angel::base_heuristic_t< double >::set_objective
angel::face_vertex_name
angel::line_graph_t::x
angel::write_graph
angel::write_vertex_property
angel::write_vector
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.85 angel::reverse_mode_face_whole_vertex_t Class Reference 421
9.85 angel::reverse_mode_face_whole_vertex_t ClassReference
Operator class for reverse_mode_face_whole_vertex.
#include <heuristics.hpp>
Inheritance diagram for angel::reverse_mode_face_whole_vertex_t:
angel::reverse_mode_face_whole_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::reverse_mode_face_whole_vertex_t:
angel::reverse_mode_face_whole_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• reverse_mode_face_whole_vertex_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t
&lg, vector< line_graph_t::face_t > &fv2)
9.85.1 Detailed Description
Operator class for reverse_mode_face_whole_vertex.
operator() is equivalent to reverse_mode_face_whole_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
422 angel Class Documentation
See also:
reverse_mode_face_whole_vertexforward_mode_vertex_t
Definition at line 850 of file heuristics.hpp.
9.85.2 Constructor & Destructor Documentation
9.85.2.1 angel::reverse_mode_face_whole_vertex_t::reverse_mode_face_-whole_vertex_t () [inline]
Definition at line 852 of file heuristics.hpp.
9.85.3 Member Function Documentation
9.85.3.1 int angel::reverse_mode_face_whole_vertex_t::operator() (constvector< line_graph_t::face_t > & fv1, const line_graph_t & lg,vector< line_graph_t::face_t > & fv2)
Definition at line 919 of file heuristics.cpp.
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.86 angel::reverse_mode_vertex_t Class Reference 423
9.86 angel::reverse_mode_vertex_t Class Reference
Operator class for reverse mode in vertex elimination.
#include <heuristics.hpp>
Inheritance diagram for angel::reverse_mode_vertex_t:
angel::reverse_mode_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Collaboration diagram for angel::reverse_mode_vertex_t:
angel::reverse_mode_vertex_t
angel::base_heuristic_t< int >
angel::base_heuristic_t< Objective_t >
< int >
Objective_t
my_objective
Public Member Functions
• reverse_mode_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,
vector< c_graph_t::vertex_t > &vv2)
9.86.1 Detailed Description
Operator class for reverse mode in vertex elimination.
operator() is equivalent to reverse_mode_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
424 angel Class Documentation
See also:
reverse_mode_vertexforward_mode_vertex_t
Definition at line 90 of file heuristics.hpp.
9.86.2 Constructor & Destructor Documentation
9.86.2.1 angel::reverse_mode_vertex_t::reverse_mode_vertex_t () [inline]
Definition at line 92 of file heuristics.hpp.
9.86.3 Member Function Documentation
9.86.3.1 int angel::reverse_mode_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)
Definition at line 42 of file heuristics.cpp.
References angel::base_heuristic_t< int >::set_empty_objective(), and angel::base_-heuristic_t< int >::set_objective().
Here is the call graph for this function:
angel::reverse_mode_vertex_t::operator()
angel::base_heuristic_t< int >::set_empty_objective
angel::base_heuristic_t< int >::set_objective
The documentation for this class was generated from the following files:
• angel/include/heuristics.hpp• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.87 angel::SA_elimination_cost_t< Heuristic_t > Class Template Reference 425
9.87 angel::SA_elimination_cost_t< Heuristic_t >Class Template Reference
Computes the elimination costs for arbitrary elimination history type.
#include <sa.hpp>
Collaboration diagram for angel::SA_elimination_cost_t< Heuristic_t >:
angel::SA_elimination_cost_t< Heuristic_t >
Heuristic_t
h
Public Member Functions
• SA_elimination_cost_t (Heuristic_t p_h)
Constructor defining the heuristic h.
• template<class Ad_graph_t, class El_spec_t>int operator() (const elimination_history_t< Ad_graph_t, El_spec_t > &eh)
Operator() computes the costs of eh.
Private Attributes
• Heuristic_t h
9.87.1 Detailed Description
template<class Heuristic_t> class angel::SA_elimination_cost_t< Heuristic_t >
Computes the elimination costs for arbitrary elimination history type.
Costs for an object eh are
1. the costs for reaching eh.cg from eh.og (stored in eh.ccosts) and
2. the costs for transforming eh.cg into final graph (bi-/tri-partite) using heuristich
Definition at line 155 of file sa.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
426 angel Class Documentation
9.87.2 Constructor & Destructor Documentation
9.87.2.1 template<class Heuristic_t> angel::SA_elimination_cost_t<Heuristic_t >::SA_elimination_cost_t (Heuristic_t p_h) [inline]
Constructor defining the heuristic h.
Definition at line 159 of file sa.hpp.
9.87.3 Member Function Documentation
9.87.3.1 template<class Heuristic_t> template<class Ad_graph_t, classEl_spec_t> int angel::SA_elimination_cost_t< Heuristic_t>::operator() (const elimination_history_t< Ad_graph_t, El_spec_t >& eh) [inline]
Operator() computes the costs of eh.
Definition at line 163 of file sa.hpp.
References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::SA_elimination_-cost_t< Heuristic_t >::h, and angel::use_heuristic().
Here is the call graph for this function:
angel::SA_elimination_cost_t::operator() angel::use_heuristic
angel::eliminatable_objects
angel::eliminate
angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v
angel::vertex_elimination angel::back_edge_elimination angel::edge
angel::vertex_type
9.87.4 Member Data Documentation
9.87.4.1 template<class Heuristic_t> Heuristic_tangel::SA_elimination_cost_t< Heuristic_t >::h [private]
Definition at line 156 of file sa.hpp.
Referenced by angel::SA_elimination_cost_t< Heuristic_t >::operator()().
The documentation for this class was generated from the following file:
• angel/include/sa.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.88 angel::source_not_independent_t Struct Reference 427
9.88 angel::source_not_independent_t Struct Refer-ence
Public Member Functions
• int operator() (line_graph_t::face_t f, const line_graph_t &lg) const
9.88.1 Detailed Description
Definition at line 1013 of file heuristics.cpp.
9.88.2 Member Function Documentation
9.88.2.1 int angel::source_not_independent_t::operator() (line_graph_t::face_tf, const line_graph_t & lg) const [inline]
Definition at line 1014 of file heuristics.cpp.
References angel::independent, and angel::vertex_type().
Here is the call graph for this function:
angel::source_not_independent_t::operator() angel::vertex_type
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
428 angel Class Documentation
9.89 angel::stream_output_t Struct Reference
#include <angel_io.hpp>
Inheritance diagram for angel::stream_output_t:
angel::stream_output_t
angel::string_stream_output_t
angel::no_output_t
Collaboration diagram for angel::stream_output_t:
angel::stream_output_t
angel::string_stream_output_t
angel::no_output_t
Public Member Functions
• stream_output_t (std::ostream &s)• template<class Ad_graph_t>
void write_graph (const std::string &str, const Ad_graph_t &adg)
9.89.1 Detailed Description
Definition at line 506 of file angel_io.hpp.
9.89.2 Constructor & Destructor Documentation
9.89.2.1 angel::stream_output_t::stream_output_t (std::ostream & s)[inline]
Definition at line 507 of file angel_io.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.89 angel::stream_output_t Struct Reference 429
9.89.3 Member Function Documentation
9.89.3.1 template<class Ad_graph_t> void angel::stream_output_-t::write_graph (const std::string & str, const Ad_graph_t & adg)[inline]
Reimplemented from angel::no_output_t.
Definition at line 509 of file angel_io.hpp.
References angel::string_stream_output_t::mystream, and angel::write_graph().
Here is the call graph for this function:
angel::stream_output_t::write_graph angel::write_graph angel::write_vector
The documentation for this struct was generated from the following file:
• angel/include/angel_io.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
430 angel Class Documentation
9.90 angel::string_stream_output_t Class Reference
#include <angel_io.hpp>
Inheritance diagram for angel::string_stream_output_t:
angel::string_stream_output_t
angel::stream_output_t angel::vis_display_output_t
angel::no_output_t
Collaboration diagram for angel::string_stream_output_t:
angel::string_stream_output_t
angel::no_output_t
Public Member Functions
• string_stream_output_t (std::ostream &s)• void operator() (const std::string &str)• void operator() (const std::ostringstream &sstr)
Protected Attributes
• ostream & mystream
Friends
• template<class Value_t>string_stream_output_t & operator<< (string_stream_output_t &, const Value_t&)
9.90.1 Detailed Description
Definition at line 488 of file angel_io.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.90 angel::string_stream_output_t Class Reference 431
9.90.2 Constructor & Destructor Documentation
9.90.2.1 angel::string_stream_output_t::string_stream_output_t (std::ostream& s) [inline]
Definition at line 492 of file angel_io.hpp.
9.90.3 Member Function Documentation
9.90.3.1 void angel::string_stream_output_t::operator() (const std::string &str) [inline]
Reimplemented from angel::no_output_t.
Definition at line 493 of file angel_io.hpp.
References mystream.
9.90.3.2 void angel::string_stream_output_t::operator() (conststd::ostringstream & sstr) [inline]
Reimplemented from angel::no_output_t.
Definition at line 495 of file angel_io.hpp.
References mystream.
9.90.4 Friends And Related Function Documentation
9.90.4.1 template<class Value_t> string_stream_output_t& operator<<(string_stream_output_t & out, const Value_t & value) [friend]
Definition at line 503 of file angel_io.hpp.
9.90.5 Member Data Documentation
9.90.5.1 ostream& angel::string_stream_output_t::mystream [protected]
Definition at line 490 of file angel_io.hpp.
Referenced by operator()(), angel::operator<<(), angel::vis_display_output_t::write_-graph(), and angel::stream_output_t::write_graph().
The documentation for this class was generated from the following file:
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
432 angel Class Documentation
• angel/include/angel_io.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.91 angel::successor_t< Ad_graph_t > Class Template Reference 433
9.91 angel::successor_t< Ad_graph_t > Class Tem-plate Reference
#include <angel_types.hpp>
Collaboration diagram for angel::successor_t< Ad_graph_t >:
angel::successor_t< Ad_graph_t >
Ad_graph_t
adg
Public Types
• typedef Ad_graph_t::vertex_descriptor vd_t• typedef Ad_graph_t::edge_descriptor ed_t• typedef boost::graph_traits< Ad_graph_t >::vertex_iterator vi_t• typedef boost::graph_traits< Ad_graph_t >::edge_iterator gei_t• typedef boost::graph_traits< Ad_graph_t >::out_edge_iterator ei_t• typedef boost::graph_traits< Ad_graph_t >::in_edge_iterator rei_t• typedef boost::graph_traits< Ad_graph_t >::degree_size_type ds_t
Public Member Functions
• successor_t (const Ad_graph_t &_adg)• ds_t degree (vd_t v) const• std::pair< ei_t, ei_t > edges (vd_t v) const• vd_t neighbor (ed_t e) const• vd_t neighbor (ei_t ei) const• ds_t rdegree (vd_t v) const• std::pair< rei_t, rei_t > redges (vd_t v) const• vd_t rneighbor (ed_t e) const• vd_t rneighbor (rei_t rei) const• const std::vector< vd_t > & first () const• const std::vector< vd_t > & last () const• void clear_vertices (const std::vector< vd_t > &vv)
Public Attributes
• const Ad_graph_t & adg
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
434 angel Class Documentation
Private Attributes
• std::vector< vd_t > independents
9.91.1 Detailed Description
template<typename Ad_graph_t> class angel::successor_t< Ad_graph_t >
Definition at line 512 of file angel_types.hpp.
9.91.2 Member Typedef Documentation
9.91.2.1 template<typename Ad_graph_t> typedef Ad_graph_-t::vertex_descriptor angel::successor_t< Ad_graph_t>::vd_t
Definition at line 514 of file angel_types.hpp.
9.91.2.2 template<typename Ad_graph_t> typedef Ad_graph_-t::edge_descriptor angel::successor_t< Ad_graph_t>::ed_t
Definition at line 515 of file angel_types.hpp.
9.91.2.3 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::vertex_iterator angel::successor_t< Ad_graph_t>::vi_t
Definition at line 516 of file angel_types.hpp.
9.91.2.4 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::edge_iterator angel::successor_t< Ad_graph_t>::gei_t
Definition at line 517 of file angel_types.hpp.
9.91.2.5 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::out_edge_iterator angel::successor_t< Ad_graph_t>::ei_t
Definition at line 518 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.91 angel::successor_t< Ad_graph_t > Class Template Reference 435
9.91.2.6 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::in_edge_iterator angel::successor_t< Ad_graph_t>::rei_t
Definition at line 519 of file angel_types.hpp.
9.91.2.7 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::degree_size_type angel::successor_t< Ad_graph_t>::ds_t
Definition at line 520 of file angel_types.hpp.
9.91.3 Constructor & Destructor Documentation
9.91.3.1 template<typename Ad_graph_t> angel::successor_t< Ad_graph_t>::successor_t (const Ad_graph_t & _adg) [inline]
Definition at line 526 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg, and angel::successor_t< Ad_-graph_t >::independents.
9.91.4 Member Function Documentation
9.91.4.1 template<typename Ad_graph_t> ds_t angel::successor_t<Ad_graph_t >::degree (vd_t v) const [inline]
Definition at line 533 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.2 template<typename Ad_graph_t> std::pair<ei_t, ei_t>angel::successor_t< Ad_graph_t >::edges (vd_t v) const [inline]
Definition at line 535 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.3 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::neighbor (ed_t e) const [inline]
Definition at line 537 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
436 angel Class Documentation
9.91.4.4 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::neighbor (ei_t ei) const [inline]
Definition at line 539 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.5 template<typename Ad_graph_t> ds_t angel::successor_t<Ad_graph_t >::rdegree (vd_t v) const [inline]
Definition at line 541 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.6 template<typename Ad_graph_t> std::pair<rei_t, rei_t>angel::successor_t< Ad_graph_t >::redges (vd_t v) const [inline]
Definition at line 543 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.7 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::rneighbor (ed_t e) const [inline]
Definition at line 545 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.8 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::rneighbor (rei_t rei) const [inline]
Definition at line 547 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.9 template<typename Ad_graph_t> const std::vector<vd_t>&angel::successor_t< Ad_graph_t >::first () const [inline]
Definition at line 549 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::independents.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.91 angel::successor_t< Ad_graph_t > Class Template Reference 437
9.91.4.10 template<typename Ad_graph_t> const std::vector<vd_t>&angel::successor_t< Ad_graph_t >::last () const [inline]
Definition at line 551 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.4.11 template<typename Ad_graph_t> void angel::successor_t<Ad_graph_t >::clear_vertices (const std::vector< vd_t > & vv)[inline]
Definition at line 553 of file angel_types.hpp.
References angel::successor_t< Ad_graph_t >::adg.
9.91.5 Member Data Documentation
9.91.5.1 template<typename Ad_graph_t> std::vector<vd_t>angel::successor_t< Ad_graph_t >::independents [private]
Definition at line 522 of file angel_types.hpp.
Referenced by angel::successor_t< Ad_graph_t >::first(), and angel::successor_t<Ad_graph_t >::successor_t().
9.91.5.2 template<typename Ad_graph_t> const Ad_graph_t&angel::successor_t< Ad_graph_t >::adg
Definition at line 524 of file angel_types.hpp.
Referenced by angel::successor_t< Ad_graph_t >::clear_vertices(),angel::successor_t< Ad_graph_t >::degree(), angel::successor_t< Ad_graph_-t >::edges(), angel::successor_t< Ad_graph_t >::last(), angel::successor_-t< Ad_graph_t >::neighbor(), angel::successor_t< Ad_graph_t >::rdegree(),angel::successor_t< Ad_graph_t >::redges(), angel::successor_t< Ad_graph_t>::rneighbor(), and angel::successor_t< Ad_graph_t >::successor_t().
The documentation for this class was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
438 angel Class Documentation
9.92 angel::target_not_dependent_t Struct Reference
Public Member Functions
• int operator() (line_graph_t::face_t f, const line_graph_t &lg) const
9.92.1 Detailed Description
Definition at line 1039 of file heuristics.cpp.
9.92.2 Member Function Documentation
9.92.2.1 int angel::target_not_dependent_t::operator() (line_graph_t::face_t f,const line_graph_t & lg) const [inline]
Definition at line 1040 of file heuristics.cpp.
References angel::dependent, and angel::vertex_type().
Here is the call graph for this function:
angel::target_not_dependent_t::operator() angel::vertex_type
The documentation for this struct was generated from the following file:
• angel/src/heuristics.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.93 angel::Transformation Class Reference 439
9.93 angel::Transformation Class Reference
Graph-independent transformation.
#include <angel_types.hpp>
Collaboration diagram for angel::Transformation:
angel::Transformation
angel::EdgeElim
myEdgeElim
angel::Rerouting
myRerouting
Public Member Functions
• Transformation (const EdgeElim &anEdgeElim)
• Transformation (const edge_bool_t &be, const c_graph_t &angelLCG)
• Transformation (const edge_ij_elim_t &an_ij_elim)
• Transformation (const Rerouting &aRerouting)
• Transformation (const edge_reroute_t &aRerouteElim, const c_graph_t &an-gelLCG)
• std::string debug () const
• bool isRerouting () const
returns true iff this Transformation is a rerouting
• const EdgeElim & getEdgeElim () const
• const Rerouting & getRerouting () const
Private Member Functions
• Transformation ()
Private Attributes
• bool myIsReroutingFlag
• Rerouting myRerouting
• EdgeElim myEdgeElim
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
440 angel Class Documentation
9.93.1 Detailed Description
Graph-independent transformation.
Class for representing either a rerouting or an edge elimination. The relevant edges arerepresented by the unsigned ints that correspond to their source and target. This allowsus to represent a transformation independently of a particular graph instance.
Definition at line 813 of file angel_types.hpp.
9.93.2 Constructor & Destructor Documentation
9.93.2.1 angel::Transformation::Transformation (const EdgeElim &anEdgeElim)
Definition at line 617 of file angel_types.cpp.
9.93.2.2 angel::Transformation::Transformation (const edge_bool_t & be, constc_graph_t & angelLCG)
Definition at line 622 of file angel_types.cpp.
9.93.2.3 angel::Transformation::Transformation (const edge_ij_elim_t &an_ij_elim)
Definition at line 628 of file angel_types.cpp.
9.93.2.4 angel::Transformation::Transformation (const Rerouting &aRerouting)
Definition at line 633 of file angel_types.cpp.
9.93.2.5 angel::Transformation::Transformation (const edge_reroute_t &aRerouteElim, const c_graph_t & angelLCG)
Definition at line 638 of file angel_types.cpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.93 angel::Transformation Class Reference 441
9.93.2.6 angel::Transformation::Transformation () [private]
9.93.3 Member Function Documentation
9.93.3.1 std::string angel::Transformation::debug () const
Definition at line 644 of file angel_types.cpp.
References angel::EdgeElim::debug(), angel::Rerouting::debug(), myEdgeElim, myIs-ReroutingFlag, and myRerouting.
Here is the call graph for this function:
angel::Transformation::debug
angel::EdgeElim::debug
angel::Rerouting::debug
9.93.3.2 bool angel::Transformation::isRerouting () const
returns true iff this Transformation is a rerouting
Definition at line 651 of file angel_types.cpp.
References myIsReroutingFlag.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().
9.93.3.3 const EdgeElim & angel::Transformation::getEdgeElim () const
Definition at line 655 of file angel_types.cpp.
References myEdgeElim.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().
9.93.3.4 const Rerouting & angel::Transformation::getRerouting () const
Definition at line 659 of file angel_types.cpp.
References myRerouting.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
442 angel Class Documentation
9.93.4 Member Data Documentation
9.93.4.1 bool angel::Transformation::myIsReroutingFlag [private]
Definition at line 840 of file angel_types.hpp.
Referenced by debug(), and isRerouting().
9.93.4.2 Rerouting angel::Transformation::myRerouting [private]
Definition at line 842 of file angel_types.hpp.
Referenced by debug(), and getRerouting().
9.93.4.3 EdgeElim angel::Transformation::myEdgeElim [private]
Definition at line 843 of file angel_types.hpp.
Referenced by debug(), and getEdgeElim().
The documentation for this class was generated from the following files:
• angel/include/angel_types.hpp• angel/src/angel_types.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.94 angel::transformationSeq_cost_t Struct Reference 443
9.94 angel::transformationSeq_cost_t Struct Refer-ence
#include <angel_types.hpp>
Public Member Functions
• transformationSeq_cost_t (unsigned int _bestNumNontrivialEdges,unsigned int _cost, unsigned int _costAtBestEdgecount, un-signed int _numIntermediatesAtBestEdgecount, unsigned int _-numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t _-lastDesiredTransformation)
Public Attributes
• std::vector< Transformation > transformationVector• unsigned int bestNumNontrivialEdges• unsigned int cost• unsigned int costAtBestEdgecount• unsigned int numIntermediatesAtBestEdgecount• unsigned int numIntermediatesWithoutUnitEdgeAtBestEdgecount• size_t lastDesiredTransformation• bool revealedNewDependence
9.94.1 Detailed Description
Definition at line 872 of file angel_types.hpp.
9.94.2 Constructor & Destructor Documentation
9.94.2.1 angel::transformationSeq_cost_t::transformationSeq_cost_t(unsigned int _bestNumNontrivialEdges, unsigned int_cost, unsigned int _costAtBestEdgecount, unsignedint _numIntermediatesAtBestEdgecount, unsigned int_numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t_lastDesiredTransformation) [inline]
Definition at line 882 of file angel_types.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
444 angel Class Documentation
9.94.3 Member Data Documentation
9.94.3.1 std::vector<Transformation> angel::transformationSeq_cost_-t::transformationVector
Definition at line 873 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::pairElim_noJAE().
9.94.3.2 unsigned int angel::transformationSeq_cost_-t::bestNumNontrivialEdges
Definition at line 874 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
9.94.3.3 unsigned int angel::transformationSeq_cost_t::cost
Definition at line 875 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
9.94.3.4 unsigned int angel::transformationSeq_cost_t::costAtBestEdgecount
Definition at line 876 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
9.94.3.5 unsigned int angel::transformationSeq_cost_-t::numIntermediatesAtBestEdgecount
Definition at line 877 of file angel_types.hpp.
9.94.3.6 unsigned int angel::transformationSeq_cost_-t::numIntermediatesWithoutUnitEdgeAtBestEdgecount
Definition at line 878 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.94 angel::transformationSeq_cost_t Struct Reference 445
9.94.3.7 size_t angel::transformationSeq_cost_t::lastDesiredTransformation
Definition at line 879 of file angel_types.hpp.
9.94.3.8 bool angel::transformationSeq_cost_t::revealedNewDependence[mutable]
Definition at line 880 of file angel_types.hpp.
Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::pairElim_noJAE().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
446 angel Class Documentation
9.95 angel::triplet_heuristic_t< Face_heuristic_t >Class Template Reference
Creates a heuristic for triplet type from a heuristic for faces.
#include <heuristics.hpp>
Collaboration diagram for angel::triplet_heuristic_t< Face_heuristic_t >:
angel::triplet_heuristic_t< Face_heuristic_t >
Face_heuristic_t
h
Public Member Functions
• triplet_heuristic_t (Face_heuristic_t _h)
Constructor stores the face-based heuristic to be used.
• int operator() (const vector< triplet_t > &tv1, const line_graph_t &lg, vector<triplet_t > &tv2)
Private Attributes
• Face_heuristic_t h
9.95.1 Detailed Description
template<class Face_heuristic_t> class angel::triplet_heuristic_t< Face_-heuristic_t >
Creates a heuristic for triplet type from a heuristic for faces.
Third entry in each triplet is ignored but it will be kept.
Definition at line 1042 of file heuristics.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.95 angel::triplet_heuristic_t< Face_heuristic_t > Class Template Reference447
9.95.2 Constructor & Destructor Documentation
9.95.2.1 template<class Face_heuristic_t> angel::triplet_heuristic_t<Face_heuristic_t >::triplet_heuristic_t (Face_heuristic_t _h)[inline]
Constructor stores the face-based heuristic to be used.
Definition at line 1046 of file heuristics.hpp.
9.95.3 Member Function Documentation
9.95.3.1 template<class Face_heuristic_t> int angel::triplet_heuristic_t<Face_heuristic_t >::operator() (const vector< triplet_t > & tv1, constline_graph_t & lg, vector< triplet_t > & tv2) [inline]
Definition at line 1047 of file heuristics.hpp.
References angel::edge(), and angel::triplet_heuristic_t< Face_heuristic_t >::h.
Here is the call graph for this function:
angel::triplet_heuristic_t::operator() angel::edge
9.95.4 Member Data Documentation
9.95.4.1 template<class Face_heuristic_t> Face_heuristic_tangel::triplet_heuristic_t< Face_heuristic_t >::h [private]
Definition at line 1043 of file heuristics.hpp.
Referenced by angel::triplet_heuristic_t< Face_heuristic_t >::operator()().
The documentation for this class was generated from the following file:
• angel/include/heuristics.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
448 angel Class Documentation
9.96 angel::triplet_t Struct Reference
Triplet of faces, used in face_elimination_history_t.
#include <angel_types.hpp>
Public Member Functions
• triplet_t (int _i, int _j, int _k)• triplet_t ()
Public Attributes
• int i• int j• int k
9.96.1 Detailed Description
Triplet of faces, used in face_elimination_history_t.
Definition at line 448 of file angel_types.hpp.
9.96.2 Constructor & Destructor Documentation
9.96.2.1 angel::triplet_t::triplet_t (int _i, int _j, int _k) [inline]
Definition at line 450 of file angel_types.hpp.
9.96.2.2 angel::triplet_t::triplet_t () [inline]
Definition at line 451 of file angel_types.hpp.
9.96.3 Member Data Documentation
9.96.3.1 int angel::triplet_t::i
Definition at line 449 of file angel_types.hpp.
Referenced by angel::face_elimination(), and angel::operator<<().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.96 angel::triplet_t Struct Reference 449
9.96.3.2 int angel::triplet_t::j
Definition at line 449 of file angel_types.hpp.
Referenced by angel::face_elimination(), and angel::operator<<().
9.96.3.3 int angel::triplet_t::k
Definition at line 449 of file angel_types.hpp.
Referenced by angel::face_elimination(), and angel::operator<<().
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
450 angel Class Documentation
9.97 angel::VertexVisited Struct Reference
Pure BGL type definition of c-graph.
#include <angel_types.hpp>
Public Types
• typedef boost::vertex_property_tag kind
9.97.1 Detailed Description
Pure BGL type definition of c-graph.
Definition at line 57 of file angel_types.hpp.
9.97.2 Member Typedef Documentation
9.97.2.1 typedef boost::vertex_property_tag angel::VertexVisited::kind
Definition at line 59 of file angel_types.hpp.
The documentation for this struct was generated from the following file:
• angel/include/angel_types.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.98 angel::vis_display_output_t Struct Reference 451
9.98 angel::vis_display_output_t Struct Reference
#include <angel_io.hpp>
Inheritance diagram for angel::vis_display_output_t:
angel::vis_display_output_t
angel::string_stream_output_t
angel::no_output_t
Collaboration diagram for angel::vis_display_output_t:
angel::vis_display_output_t
angel::string_stream_output_t
angel::no_output_t
Public Member Functions
• vis_display_output_t (std::ostream &s)• template<class Ad_graph_t>
void write_graph (const std::string &str, const Ad_graph_t &adg)
9.98.1 Detailed Description
Definition at line 514 of file angel_io.hpp.
9.98.2 Constructor & Destructor Documentation
9.98.2.1 angel::vis_display_output_t::vis_display_output_t (std::ostream & s)[inline]
Definition at line 515 of file angel_io.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
452 angel Class Documentation
9.98.3 Member Function Documentation
9.98.3.1 template<class Ad_graph_t> void angel::vis_display_output_-t::write_graph (const std::string & str, const Ad_graph_t & adg)[inline]
Reimplemented from angel::no_output_t.
Definition at line 517 of file angel_io.hpp.
References angel::string_stream_output_t::mystream.
The documentation for this struct was generated from the following file:
• angel/include/angel_io.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.99 angel::write_edge_bool_op_t Class Reference 453
9.99 angel::write_edge_bool_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_edge_bool_op_t:
angel::write_edge_bool_op_t
angel::c_graph_t
cg
Public Member Functions
• write_edge_bool_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, std::pair< c_graph_t::edge_t,
bool > eb)
Private Attributes
• const c_graph_t & cg
9.99.1 Detailed Description
Definition at line 54 of file angel_tools.hpp.
9.99.2 Constructor & Destructor Documentation
9.99.2.1 angel::write_edge_bool_op_t::write_edge_bool_op_t (const c_graph_t& _cg) [inline]
Definition at line 57 of file angel_tools.hpp.
9.99.3 Member Function Documentation
9.99.3.1 std::ostream& angel::write_edge_bool_op_t::operator() (std::ostream& stream, std::pair< c_graph_t::edge_t, bool > eb) [inline]
Definition at line 58 of file angel_tools.hpp.
References cg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
454 angel Class Documentation
9.99.4 Member Data Documentation
9.99.4.1 const c_graph_t& angel::write_edge_bool_op_t::cg [private]
Definition at line 55 of file angel_tools.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.100 angel::write_edge_eliad_op_t Class Reference 455
9.100 angel::write_edge_eliad_op_t Class Reference
Operator used in write_graph_eliad.
#include <angel_io.hpp>
Public Member Functions
• write_edge_eliad_op_t (ostream &s)
• template<typename Ad_graph_t>void operator() (typename Ad_graph_t::edge_descriptor e, const Ad_graph_-t &adg)
Private Attributes
• ostream & stream
9.100.1 Detailed Description
Operator used in write_graph_eliad.
Definition at line 210 of file angel_io.hpp.
9.100.2 Constructor & Destructor Documentation
9.100.2.1 angel::write_edge_eliad_op_t::write_edge_eliad_op_t (ostream & s)[inline]
Definition at line 213 of file angel_io.hpp.
9.100.3 Member Function Documentation
9.100.3.1 template<typename Ad_graph_t> void angel::write_edge_eliad_-op_t::operator() (typename Ad_graph_t::edge_descriptor e, constAd_graph_t & adg) [inline]
Definition at line 215 of file angel_io.hpp.
References stream.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
456 angel Class Documentation
9.100.4 Member Data Documentation
9.100.4.1 ostream& angel::write_edge_eliad_op_t::stream [private]
Definition at line 211 of file angel_io.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_io.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.101 angel::write_edge_name_op_t Class Reference 457
9.101 angel::write_edge_name_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_edge_name_op_t:
angel::write_edge_name_op_t
angel::line_graph_t
lg
angel::c_graph_t
cgp
Public Member Functions
• write_edge_name_op_t (const line_graph_t &_lg)
• std::ostream & operator() (std::ostream &stream, line_graph_t::edge_t e)
Private Attributes
• const line_graph_t & lg
• line_graph_t::const_evn_t evn
9.101.1 Detailed Description
Definition at line 66 of file angel_tools.hpp.
9.101.2 Constructor & Destructor Documentation
9.101.2.1 angel::write_edge_name_op_t::write_edge_name_op_t (constline_graph_t & _lg) [inline]
Definition at line 70 of file angel_tools.hpp.
References evn, and lg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
458 angel Class Documentation
9.101.3 Member Function Documentation
9.101.3.1 std::ostream& angel::write_edge_name_op_t::operator()(std::ostream & stream, line_graph_t::edge_t e) [inline]
Definition at line 72 of file angel_tools.hpp.
References evn.
9.101.4 Member Data Documentation
9.101.4.1 const line_graph_t& angel::write_edge_name_op_t::lg [private]
Definition at line 67 of file angel_tools.hpp.
Referenced by write_edge_name_op_t().
9.101.4.2 line_graph_t::const_evn_t angel::write_edge_name_op_t::evn[private]
Definition at line 68 of file angel_tools.hpp.
Referenced by operator()(), and write_edge_name_op_t().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.102 angel::write_edge_op_t Class Reference 459
9.102 angel::write_edge_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_edge_op_t:
angel::write_edge_op_t
angel::c_graph_t
cg
Public Member Functions
• write_edge_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, c_graph_t::edge_t e)
Private Attributes
• const c_graph_t & cg
9.102.1 Detailed Description
Definition at line 44 of file angel_tools.hpp.
9.102.2 Constructor & Destructor Documentation
9.102.2.1 angel::write_edge_op_t::write_edge_op_t (const c_graph_t & _cg)[inline]
Definition at line 47 of file angel_tools.hpp.
9.102.3 Member Function Documentation
9.102.3.1 std::ostream& angel::write_edge_op_t::operator() (std::ostream &stream, c_graph_t::edge_t e) [inline]
Definition at line 48 of file angel_tools.hpp.
References cg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
460 angel Class Documentation
9.102.4 Member Data Documentation
9.102.4.1 const c_graph_t& angel::write_edge_op_t::cg [private]
Definition at line 45 of file angel_tools.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.103 angel::write_face_number_op_t Class Reference 461
9.103 angel::write_face_number_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_face_number_op_t:
angel::write_face_number_op_t
angel::line_graph_t
lg
angel::c_graph_t
cgp
Public Member Functions
• write_face_number_op_t (const line_graph_t &_lg)• std::ostream & operator() (std::ostream &stream, line_graph_t::face_t f)
Private Attributes
• const line_graph_t & lg
9.103.1 Detailed Description
Definition at line 94 of file angel_tools.hpp.
9.103.2 Constructor & Destructor Documentation
9.103.2.1 angel::write_face_number_op_t::write_face_number_op_t (constline_graph_t & _lg) [inline]
Definition at line 97 of file angel_tools.hpp.
9.103.3 Member Function Documentation
9.103.3.1 std::ostream& angel::write_face_number_op_t::operator()(std::ostream & stream, line_graph_t::face_t f) [inline]
Definition at line 98 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
462 angel Class Documentation
References lg.
9.103.4 Member Data Documentation
9.103.4.1 const line_graph_t& angel::write_face_number_op_t::lg[private]
Definition at line 95 of file angel_tools.hpp.
Referenced by operator()().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.104 angel::write_face_op_t Class Reference 463
9.104 angel::write_face_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_face_op_t:
angel::write_face_op_t
angel::line_graph_t
lg
angel::c_graph_t
cgp
Public Member Functions
• write_face_op_t (const line_graph_t &_lg)
• std::ostream & operator() (std::ostream &stream, line_graph_t::face_t f)
Private Attributes
• const line_graph_t & lg
• line_graph_t::const_evn_t evn
9.104.1 Detailed Description
Definition at line 78 of file angel_tools.hpp.
9.104.2 Constructor & Destructor Documentation
9.104.2.1 angel::write_face_op_t::write_face_op_t (const line_graph_t & _lg)[inline]
Definition at line 82 of file angel_tools.hpp.
References evn, and lg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
464 angel Class Documentation
9.104.3 Member Function Documentation
9.104.3.1 std::ostream& angel::write_face_op_t::operator() (std::ostream &stream, line_graph_t::face_t f) [inline]
Definition at line 84 of file angel_tools.hpp.
References evn, lg, and THROW_DEBUG_EXCEPT_MACRO.
9.104.4 Member Data Documentation
9.104.4.1 const line_graph_t& angel::write_face_op_t::lg [private]
Definition at line 79 of file angel_tools.hpp.
Referenced by operator()(), and write_face_op_t().
9.104.4.2 line_graph_t::const_evn_t angel::write_face_op_t::evn [private]
Definition at line 80 of file angel_tools.hpp.
Referenced by operator()(), and write_face_op_t().
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
9.105 angel::write_vertex_op_t Class Reference 465
9.105 angel::write_vertex_op_t Class Reference
#include <angel_tools.hpp>
Collaboration diagram for angel::write_vertex_op_t:
angel::write_vertex_op_t
angel::c_graph_t
cg
Public Member Functions
• write_vertex_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, c_graph_t::vertex_t v)
Private Attributes
• const c_graph_t & cg
9.105.1 Detailed Description
Definition at line 34 of file angel_tools.hpp.
9.105.2 Constructor & Destructor Documentation
9.105.2.1 angel::write_vertex_op_t::write_vertex_op_t (const c_graph_t & _cg)[inline]
Definition at line 37 of file angel_tools.hpp.
9.105.3 Member Function Documentation
9.105.3.1 std::ostream& angel::write_vertex_op_t::operator() (std::ostream &stream, c_graph_t::vertex_t v) [inline]
Definition at line 38 of file angel_tools.hpp.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
466 angel Class Documentation
9.105.4 Member Data Documentation
9.105.4.1 const c_graph_t& angel::write_vertex_op_t::cg [private]
Definition at line 35 of file angel_tools.hpp.
The documentation for this class was generated from the following file:
• angel/include/angel_tools.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Chapter 10
angel File Documentation
10.1 angel/angel.hpp File Reference
#include <angel/include/angel_comm.hpp>
#include <angel/include/angel_exceptions.hpp>
#include <angel/include/angel_io.hpp>
#include <angel/include/angel_tools.hpp>
#include <angel/include/angel_types.hpp>
#include <angel/include/eliminations.hpp>
#include <angel/include/graph_generator.hpp>
#include <angel/include/heuristics.hpp>
#include <angel/include/sa.hpp>
#include <angel/include/xaif_interface.hpp>
Include dependency graph for angel.hpp:
angel/angel.hpp
angel/include/angel_comm.hpp
angel/include/angel_exceptions.hpp
angel/include/angel_io.hpp
angel_types.hpp
angel_tools.hpp
angel/include/eliminations.hpp
angel/include/graph_generator.hpp
angel/include/heuristics.hpp
angel/include/sa.hpp angel/include/xaif_interface.hpp
stringiostreamsstream
vector
fstream ctime
algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
cstdlib queue cmath numericdeque
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
reroutings.hpp
heuristics_impl.hpp
limits.h
sa_impl.hpp xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp
468 angel File Documentation
10.2 angel/include/angel_comm.hpp File Reference
This graph shows which files directly or indirectly include this file:
angel/include/angel_comm.hpp
angel/angel.hpp angel/src/angel_comm.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.3 angel/include/angel_comm_impl.hpp File Reference 469
10.3 angel/include/angel_comm_impl.hpp File Refer-ence
Namespaces
• namespace angel
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
470 angel File Documentation
10.4 angel/include/angel_exceptions.hpp File Refer-ence
#include <string>
#include <iostream>
#include <sstream>
Include dependency graph for angel_exceptions.hpp:
angel/include/angel_exceptions.hpp
string iostream sstream
This graph shows which files directly or indirectly include this file:
angel/include/angel_exceptions.hpp
angel/angel.hpp
angel/include/angel_types.hpp
angel/include/sa.hpp angel/src/heuristics.cpp
angel/src/angel_tools.cpp
angel/src/angel_io.cppangel/src/graph_generator.cpp
angel/include/angel_tools.hpp angel/include/heuristics_impl.hpp
angel/include/angel_io.hpp
angel/include/eliminations.hpp
angel/include/heuristics.hppangel/src/angel_types.cpp
angel/include/graph_generator.hpp
angel/include/reroutings.hpp
angel/include/xaif_interface.hpp
angel/src/xaif_interface.cpp
angel/src/eliminations.cpp angel/src/reroutings.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Classes
• class angel::base_exception• class angel::io_exception• class angel::consistency_exception
Defines
• #define THROW_DEBUG_EXCEPT_MACRO(Test, Exception, Message)• #define THROW_EXCEPT_MACRO(Test, Exception, Message)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.4 angel/include/angel_exceptions.hpp File Reference 471
10.4.1 Define Documentation
10.4.1.1 #define THROW_DEBUG_EXCEPT_MACRO(Test, Exception,Message)
Value:
{ \if (Test) { \
throw Exception(__FILE__, __LINE__, Message); }\}
Definition at line 42 of file angel_exceptions.hpp.
Referenced by angel::face_elimination(), angel::face_vertex_name(), angel::gamma_-adaption_average_t::gamma_adaption_average_t(), angel::gamma_adaption_max_-t::gamma_adaption_max_t(), angel::line_graph_t::line_graph_t(), angel::markowitz_-degree(), angel::markowitz_enlargement_back(), angel::markowitz_enlargement_-front(), angel::momr_edge_back(), angel::momr_edge_front(), angel::neighbor_-swap(), angel::base_heuristic_t< int >::objective(), angel::momrf_op_t::operator()(),angel::new_iks_t::operator()(), angel::new_pik_t::operator()(), angel::lmf_op_-t::operator()(), angel::diste_op_t::operator()(), angel::momrv_op_t::operator()(),angel::lowest_markowitz_face_complete_t< Heuristic_t >::operator()(),angel::write_face_op_t::operator()(), angel::elimination_history_t< Ad_graph_-t, El_spec_t >::operator=(), angel::oplr_face(), angel::random_statement(),angel::random_statement_vector(), angel::accu_graph_t::set_jacobi_entries(), an-gel::stats2block(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::swap(),angel::take_over_successors(), angel::write_face(), and angel::write_graph_xaif_-booster().
10.4.1.2 #define THROW_EXCEPT_MACRO(Test, Exception, Message)
Value:
{ \if (Test) { \
throw Exception(__FILE__, __LINE__, Message); }\}
Definition at line 51 of file angel_exceptions.hpp.
Referenced by angel::c_graph_t::c_graph_t(), angel::convert_elimination_-sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::getEdge(), angel::getJAE_p(), angel::getLCG_p(), an-gel::getRefType(), angel::independent_vertices_to_front(), angel::Rerouting::init(),angel::line_graph_t::line_graph_t(), angel::lowest_markowitz_face_complete_t<
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
472 angel File Documentation
Heuristic_t >::operator()(), angel::ourLCG_to_angelLCG(), angel::populate_-remainderGraph_and_correlationLists(), angel::random(), angel::read_graph_eliad(),angel::read_graph_xaif_booster(), angel::removeRef(), angel::reroute_effect(),angel::setJaevRef(), angel::stats2block(), and angel::write_graph_xaif_booster().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.5 angel/include/angel_io.hpp File Reference 473
10.5 angel/include/angel_io.hpp File Reference
#include <vector>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <ctime>
#include "angel_types.hpp"
#include "angel_tools.hpp"
Include dependency graph for angel_io.hpp:
angel/include/angel_io.hpp
vector
iostream
fstream
sstream string
ctime
angel_types.hpp
angel_tools.hpp
algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
cstdlib queue cmath numeric deque
This graph shows which files directly or indirectly include this file:
angel/include/angel_io.hpp
angel/angel.hpp
angel/include/eliminations.hpp
angel/include/heuristics.hpp
angel/include/sa.hpp
angel/src/xaif_interface.cpp
angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp
angel/src/angel_io.cpp angel/src/graph_generator.cpp
angel/src/reroutings.cpp
angel/src/heuristics.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Classes
• class angel::write_edge_eliad_op_t
Operator used in write_graph_eliad.
• struct angel::no_output_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
474 angel File Documentation
• class angel::string_stream_output_t• struct angel::stream_output_t• struct angel::vis_display_output_t
Functions
• int angel::read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)
Read graph in EliAD graph format from file.
• void angel::write_face (ostream &stream, line_graph_t::face_t face, const line_-graph_t &lg)
Write a face face of lg to stream.
• void angel::write_face (line_graph_t::face_t face, const line_graph_t &lg)
Write a face face of lg to standard output.
• void angel::write_face_vector (ostream &stream, const string &s, const vector<line_graph_t::face_t > &v, const line_graph_t &lg)
Write a vector v of faces from lg to stream with comment s.
• void angel::write_face_vector (const string &s, const vector< line_graph_-t::face_t > &v, const line_graph_t &lg)
Write a vector v of faces from lg to standard output with comment s.
• template<typename T1, typename T2>
ostream & angel::operator<< (ostream &stream, const std::pair< T1, T2 >&p)
Write pair of arbitrary types to stream if their output operator is defined.
• template<typename Scalar_t>void angel::write_vector (ostream &stream, const string &s, const vector<Scalar_t > &v)
Write STL vector v to stream with comment s if their output operator is defined.
• template<typename Scalar_t>void angel::write_vector (const string &s, const vector< Scalar_t > &v)
Write STL vector v to standard output with comment s if their output operator isdefined.
• template<typename Scalar_t, typename Op_t>void angel::write_vector (ostream &stream, const string &s, const vector<Scalar_t > &v, Op_t op)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.5 angel/include/angel_io.hpp File Reference 475
Write STL vector to stream.
• template<typename Scalar_t, typename Op_t>void angel::write_vector (const string &s, const vector< Scalar_t > &v, Op_top)
Write STL vector to standard output.
• template<typename Ad_graph_t>void angel::write_graph (ostream &stream, const string &s, const Ad_graph_t&adg, bool write_edge_weight)
Write c-graph or line graph to stream.
• template<typename Ad_graph_t>void angel::write_graph (const string &s, const Ad_graph_t &adg, bool write_-edge_weight)
Write c-graph or line graph to standard output.
• template<typename Ad_graph_t>void angel::write_graph (const string &file_name, const string &s, const Ad_-graph_t &adg, bool write_edge_weight)
Write c-graph or line graph to file.
• template<typename Ad_graph_t>void angel::write_graph (ostream &stream, const string &s, const Ad_graph_t&adg)
Write c-graph or line graph to stream.
• template<typename Ad_graph_t>void angel::write_graph (const string &s, const Ad_graph_t &adg)
Write c-graph or line graph to standard output.
• template<typename Ad_graph_t>void angel::write_graph (const string &file_name, const string &s, const Ad_-graph_t &adg)
Write c-graph or line graph to file.
• template<typename Ad_graph_t>void angel::write_graph_eliad (ostream &stream, const Ad_graph_t &adg)
Write c-graph or line graph in EliAD format to stream.
• template<typename Ad_graph_t>void angel::write_graph_eliad (const Ad_graph_t &adg)
Write c-graph or line graph in EliAD format to standard output.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
476 angel File Documentation
• template<typename Ad_graph_t>void angel::write_graph_eliad (const string &file_name, const Ad_graph_-t &adg)
Write c-graph or line graph in EliAD format to file.
• template<typename Prop_t, typename Ad_graph_t>void angel::write_vertex_property (ostream &stream, const string &s, constProp_t &prop, const Ad_graph_t &adg)
Write internal vertex property to stream.
• template<typename Prop_t, typename Ad_graph_t>void angel::write_edge_property (ostream &stream, const string &s, constProp_t &prop, const Ad_graph_t &adg)
Write internal edge property to stream.
• void angel::open_log_file (int &argc, char ∗∗&argv)• void angel::close_log_file ()• string angel::numbered_filename (const string &basename, const string &suffix,
int number, int width=4)• template<class Value_t>
no_output_t & angel::operator<< (no_output_t &out, const Value_t &)• template<class Value_t>
string_stream_output_t & angel::operator<< (string_stream_output_t &out,const Value_t &value)
• void angel::write_refillDependences (ostream &stream, constrefillDependenceMap_t &refillDependences)
• void angel::writeVertexAndEdgeTypes (ostream &stream, c_graph_t &an-gelLCG)
Variables
• ofstream angel::log_file• no_output_t angel::no_output• string_stream_output_t angel::cout_string_output• vis_display_output_t angel::cout_vis_display_output
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.6 angel/include/angel_tools.hpp File Reference 477
10.6 angel/include/angel_tools.hpp File Reference
#include <cstdlib>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <cmath>
#include <numeric>
#include <iostream>
#include <deque>
#include "angel_exceptions.hpp"
#include "angel_types.hpp"
Include dependency graph for angel_tools.hpp:
angel/include/angel_tools.hpp
cstdlib
string
vector
queue
algorithm
cmath numeric
iostream
deque
angel_exceptions.hpp
angel_types.hpp
sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
This graph shows which files directly or indirectly include this file:
angel/include/angel_tools.hpp
angel/angel.hpp
angel/include/angel_io.hpp
angel/include/sa.hpp
angel/src/xaif_interface.cpp
angel/src/heuristics.cpp
angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp angel/src/reroutings.cpp
angel/src/angel_io.cpp angel/src/graph_generator.cppangel/include/eliminations.hpp
angel/include/heuristics.hpp
angel/src/sa.cpp
Namespaces
• namespace angel
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
478 angel File Documentation
Classes
• class angel::write_vertex_op_t• class angel::write_edge_op_t• class angel::write_edge_bool_op_t• class angel::write_edge_name_op_t• class angel::write_face_op_t• class angel::write_face_number_op_t• struct angel::edge_equal_t< Ad_graph_t >
Compares edges of different graphs.
• struct angel::edge_less_t< Ad_graph_t >
Compares edges of different graphs (lexicographically).
• class angel::lex_less_face_line_t• class angel::not_lex_less_face_line_t• struct angel::dec_greater< vertex_t >
• struct angel::empty_operator_t< operand_t >
Empty operator class for dummy arguments.
Functions
• template<typename Ad_graph_t, typename Op_t>void angel::for_all_edges (Ad_graph_t &adg, const Op_t &op)
Applies op to all edges of adg, graph can be changed.
• template<typename Ad_graph_t, typename Op_t>void angel::for_all_edges (const Ad_graph_t &adg, Op_t &op)
Applies op to all edges of adg, op can be changed, e.g. for outputs.
• template<typename Ad_graph_t, typename Op_t>void angel::for_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)
Applies op to all in-edges of v, graph can be changed.
• template<typename Ad_graph_t, typename Op_t>void angel::for_all_out_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)
Applies op to all out-edges of v, graph can be changed.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.6 angel/include/angel_tools.hpp File Reference 479
• template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t &adg, const Op_t &op)
Applies op to all in-edges of v and sum it.
• template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_out_edges (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, const Op_t &op)
Applies op to all out-edges of v and sum it.
• template<typename Ad_graph_t>void angel::successor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns successor set of v as vector vec.
• template<typename Ad_graph_t>void angel::sorted_successor_set (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns successor set of v as vector vec, vertices are sorted.
• template<typename Ad_graph_t>void angel::predecessor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns successor set of v as vector vec.
• template<typename Ad_graph_t>void angel::sorted_predecessor_set (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns successor set of v as vector vec, vertices are sorted.
• bool angel::reachable (const c_graph_t::vertex_t src, const c_graph_t::vertex_ttgt, 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 &an-gelLCG, 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 &an-gelLCG, vertex_set_t &downset)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
480 angel File Documentation
Returns a set of vertices in adg that v depends on.
• template<typename El_t>void angel::unique_vector (std::vector< El_t > &v)
Sorts arbitrary vector and removes double elements.
• template<typename Ad_graph_t>void angel::common_successors (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have common successors with v.
• template<typename Ad_graph_t>void angel::same_successors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have same successor set as v.
• template<typename Ad_graph_t>void angel::common_predecessor (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have common predecessors with v.
• template<typename Ad_graph_t>void angel::same_predecessors (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have same predecessor set as v.
• template<typename Ad_graph_t>void angel::same_neighbors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)
Returns set of vertices (in vec) that have same predecessor and successor set as v.
• template<typename It_t, typename Op_t>std::ostream & angel::write_iterators (std::ostream &stream, const std::string&s, It_t begin, It_t end, Op_t op)
• template<typename Ad_graph_t>graph_traits< Ad_graph_t >::edge_iterator angel::same_edge (typename Ad_-graph_t::edge_descriptor e, const Ad_graph_t &g1, const Ad_graph_t &g2)
Returns same edge in another graph.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.6 angel/include/angel_tools.hpp File Reference 481
• template<typename Ad_graph_t>vertex_type_t angel::vertex_type (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg)
Functional equivalent for graph class method (more boost-like).
• template<typename Ad_graph_t>int angel::count_parallel_edges (typename Ad_graph_t::edge_descriptor e, constAd_graph_t &g)
• 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_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)
Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.
• bool angel::lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)
Returns whether e1 is lexicographically less than e2 w.r.t. source and target.
• bool angel::inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, constc_graph_t &cg)
Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.
• bool angel::inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)
Returns whether e1 is lexicographically less than e2 w.r.t. target and source.
• bool angel::lex_greater (edge_bool_t eb1, edge_bool_t eb2, const c_graph_-t &cg)
• bool angel::lex_less (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool angel::lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, const
line_graph_t &lg)• int angel::random (int min, int max)
Random value between min and max, i.e. from [min, max].
• double angel::random (double n)
Random value from [0, n).
• int angel::random (int n)
Random value between 0 and n-1, i.e. from [0, n).
• int angel::random_high (int n, int exp=2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
482 angel File Documentation
Random value from [0, n) where larger values have higher probability (increases withexp).
• int angel::random (const std::vector< double > &p)
Random number characterized by p, the accumulated probabities.
• 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.
• bool angel::find_edge (int s, int t, const line_graph_t &lg, std::vector< line_-graph_t::edge_t > &ev)
Searches an edge in line graph that corresponds to (s,t).
• bool angel::is_bipartite (const c_graph_t &cg)
Tests if cg is bi-partite.
• bool angel::is_tripartite (const line_graph_t &lg)
Tests if lg is tri-partite.
• 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.
• template<typename Ad_graph_t>void angel::reachable_vertices (const Ad_graph_t &adg, std::vector< bool >&rv)
Computes all reachable vertices for c- and line graphs.
• template<typename Ad_graph_t>void angel::relevant_vertices (const Ad_graph_t &adg, std::vector< bool >&rv)
Computes all relevant vertices for c- and line graphs.
• template<typename Neighbor_t>bool angel::search_path (const std::vector< c_graph_t::vertex_t > &from, conststd::vector< c_graph_t::vertex_t > &to, const Neighbor_t &n, std::vector< c_-graph_t::vertex_t > &path, bool breadth_first=false)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.6 angel/include/angel_tools.hpp File Reference 483
• template<typename Neighbor_t>int angel::maximal_paths (c_graph_t::vertex_t v, const Neighbor_t &nin,std::vector< std::vector< c_graph_t::vertex_t > > &paths)
• template<typename Neighbor_t>int angel::minimal_in_out_degree (c_graph_t::vertex_t v, const Neighbor_-t &nin)
• void angel::minimal_markowitz_degree (const c_graph_t &cg, std::vector< int> &v)
Minimal Markowitz degree for each vertex.
• int angel::overall_minimal_markowitz_degree (const c_graph_t &cg)
Sum of minimal Markowitz degrees.
• void angel::permutate_vertices (const c_graph_t &gin, const std::vector< c_-graph_t::vertex_t > &p, c_graph_t &gout)
Permutates vertices, vertex v in gin becomes p[v] in gout.
• void angel::independent_vertices_to_front (const c_graph_t &gin, conststd::vector< c_graph_t::vertex_t > &indeps, c_graph_t &gout)
Independent vertices, given by indeps, becomes first vertices in gout.
• void angel::put_unit_vertex_weight (line_graph_t &lg)
Sets all vertex labels (in ed) to 1.
• void angel::put_unit_edge_weight (c_graph_t &cg)
Sets all edge labels (in ew) to 1.
• 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)
• template<typename Ad_graph_t>int angel::remove_irrelevant_edges (typename Ad_graph_t::vertex_descriptor i,Ad_graph_t &adg, bool fast=false)
Removes irrelevant edges from adg starting with i.
• template<typename Ad_graph_t>int angel::remove_unreachable_edges (typename Ad_graph_t::vertex_descriptori, Ad_graph_t &adg, bool fast=false)
Removes unreachable edges from adg starting with i.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
484 angel File Documentation
• template<typename Ad_graph_t>int angel::remove_edges (typename Ad_graph_t::vertex_descriptor i, Ad_-graph_t &adg)
Removes irrelevant and unreachable edges from adg starting with i.
• 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.
• size_t angel::block_begin (size_t i, size_t p, size_t n)First index in ith of p blocks where overall size is n (indices 0..n-1).
• 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)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.7 angel/include/angel_types.hpp File Reference 485
10.7 angel/include/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:
angel/include/angel_types.hpp
vector
string
algorithm
iostream sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp
This graph shows which files directly or indirectly include this file:
angel/include/angel_types.hpp
angel/angel.hpp
angel/include/angel_io.hpp
angel/include/eliminations.hpp
angel/include/heuristics.hpp
angel/include/sa.hpp
angel/src/angel_types.cpp
angel/src/graph_generator.cpp
angel/include/angel_tools.hpp
angel/include/graph_generator.hpp
angel/include/reroutings.hpp
angel/include/xaif_interface.hpp
angel/src/xaif_interface.cpp
angel/src/angel_tools.cppangel/src/eliminations.cpp
angel/src/angel_io.cpp
angel/src/reroutings.cpp
angel/src/heuristics.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
486 angel File Documentation
Classes
• struct angel::EdgeType• struct angel::VertexVisited
Pure BGL type definition of c-graph.
• class angel::c_graph_t
C-graph type.
• class angel::line_graph_t
Line graph type.
• struct angel::triplet_t
Triplet of faces, used in face_elimination_history_t.
• 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 elimi-nated.
• 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.
• class angel::Rerouting
Graph-independent rerouting.
• class angel::Transformation
Graph-independent transformation.
• struct angel::elimSeq_cost_t• struct angel::transformationSeq_cost_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.7 angel/include/angel_types.hpp File Reference 487
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_tPair 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 }
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
488 angel File Documentation
Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.
• enum angel::Edge_Type_E { angel::VARIABLE_EDGE, angel::UNIT_EDGE,angel::CONSTANT_EDGE }
• enum angel::EdgeRefType_E { angel::LCG_EDGE, angel::JAE_VERT, an-gel::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.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.7 angel/include/angel_types.hpp File Reference 489
• 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:11 2009 for angel by Doxygen
490 angel File Documentation
10.8 angel/include/eliminations.hpp File Reference
#include "angel_types.hpp"
#include "angel_io.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp"
Include dependency graph for eliminations.hpp:
angel/include/eliminations.hpp
angel_types.hpp
angel_io.hpp xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
vector
string
algorithm
iostreamsstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
fstream ctimeangel_tools.hpp
cstdlib queue cmath numeric deque
This graph shows which files directly or indirectly include this file:
angel/include/eliminations.hpp
angel/angel.hpp
angel/include/heuristics.hpp
angel/include/sa.hpp
angel/src/xaif_interface.cpp
angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp angel/src/reroutings.cpp
angel/src/heuristics.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Classes
• struct angel::edge_vertex_elim_t• class angel::elimination_history_t< Ad_graph_t, El_spec_t >
Elimination history.
Typedefs
• typedef vector< edge_vertex_elim_t > angel::edge_vertex_elim_seq_t
sequences of edges as nodes from line graph
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.8 angel/include/eliminations.hpp File Reference 491
• typedef elimination_history_t< c_graph_t, c_graph_t::vertex_t >angel::vertex_elimination_history_t
Vertex elimination history for LSA usage.
• typedef elimination_history_t< c_graph_t, edge_ij_elim_t > angel::edge_-elimination_history_t
Edge elimination history for LSA usage.
• typedef elimination_history_t< line_graph_t, triplet_t > angel::face_-elimination_history_t
Face elimination history for LSA usage.
Functions
• int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int angel::vertex_elimination (int j, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j,
c_graph_t &cg)• int angel::front_edge_elimination (int i, int j, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j,
c_graph_t &cg)• int angel::back_edge_elimination (int i, int j, c_graph_t &cg)• int angel::edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t &cg)• int angel::edge_elimination (edge_bool_t e, c_graph_t &cg)• int angel::edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, bool
front, c_graph_t &cg)• int angel::edge_elimination (int i, int j, bool front, c_graph_t &cg)• int angel::edge_elimination (edge_ij_elim_t ee, c_graph_t &cg)
Edge elimination specified by ee.
• int angel::vertex_elimination (const vector< int > &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_elim_seq_t &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_pair_elim_seq_t &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_ij_elim_seq_t &seq, c_graph_t &cg)• int angel::vertex_elimination (int j, line_graph_t &lg)• int angel::front_edge_elimination (int i, int j, line_graph_t &lg)• int angel::front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::back_edge_elimination (int i, int j, line_graph_t &lg)• int angel::back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::edge_elimination (int i, int j, bool front, line_graph_t &lg)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
492 angel File Documentation
• int angel::edge_elimination (line_graph_t::edge_t vij, bool front, line_graph_t&lg)
Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.
• int angel::edge_elimination (const edge_vertex_elim_seq_t &seq, line_graph_t&lg)
Eliminate sequence seq of edges from line graph lg.
• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg,accu_graph_t &ac)
• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg)• int angel::face_elimination (line_graph_t::face_t f, line_graph_t &lg)• int angel::face_elimination (int i, int j, line_graph_t &lg)• int angel::face_elimination (int i, int j, int kr, line_graph_t &lg)• int angel::face_elimination (int i, int j, int kr, line_graph_t &lg, accu_graph_t
&ac)• int angel::face_elimination (triplet_t &t, line_graph_t &lg)• int angel::face_elimination (triplet_t &t, line_graph_t &lg, accu_graph_t &ac)• int angel::was_non_trivial_elimination (int i, int j, int k, const line_graph_t &lg)• int angel::was_non_trivial_elimination (line_graph_t::face_t f, int k, const line_-
graph_t &lg)• int angel::eliminate (c_graph_t::vertex_t v, c_graph_t &cg)
Overloaded elimination for templates, here vertex elimination in c-graph.
• int angel::eliminate (int j, c_graph_t &cg)
Overloaded elimination for templates, here vertex elimination in c-graph.
• int angel::eliminate (int j, line_graph_t &lg)
Overloaded elimination for templates, here vertex elimination in line graph.
• int angel::eliminate (edge_bool_t e, c_graph_t &cg)
Overloaded elimination for templates, here vertex elimination in c-graph.
• int angel::eliminate (edge_ij_elim_t ee, c_graph_t &cg)
Overloaded elimination for templates, here vertex elimination in c-graph.
• int angel::eliminate (line_graph_t::face_t f, line_graph_t &lg)• int angel::eliminate (triplet_t &t, line_graph_t &lg)• int angel::eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-
t::vertex_t > &vv)
Returns a set of vertices that can be eliminated from c-graph cg.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.8 angel/include/eliminations.hpp File Reference 493
• int angel::semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)
Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.
• int angel::eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)
Returns a set of edges that can be eliminated from c-graph cg.
• int angel::front_eliminatable_edges (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)
Returns a set of edges that can be front eliminated from c-graph cg.
• int angel::back_eliminatable_edges (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)
Returns a set of edges that can be back eliminated from c-graph cg.
• int angel::eliminatable_edges (const c_graph_t &cg, vector< edge_bool_t >&ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
• int angel::eliminatable_edges (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)
Returns a set of edges that can be eliminated from c-graph cg and how.
• unsigned int angel::eliminatable_edges (const c_graph_t &cg, vector< EdgeE-lim > &ev)
Returns a set of edges that can be eliminated from c-graph cg.
• int angel::eliminatable_faces (const line_graph_t &lg, vector< line_graph_-t::face_t > &fv)
Returns a set of faces that can be eliminated from line graph lg.
• int angel::eliminatable_triplets (const line_graph_t &lg, vector< triplet_t >&tv)
Returns a set of eliminatable faces as triplets tv from line graph lg.
• int angel::eliminatable_objects (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)
Synonym of eliminatable_vertices for usage in templates.
• int angel::eliminatable_objects (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)
Synonym of eliminatable_edges for usage in templates.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
494 angel File Documentation
• int angel::eliminatable_objects (const c_graph_t &cg, vector< edge_bool_t >&ev)
Synonym of eliminatable_edges for usage in templates.
• int angel::eliminatable_objects (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)
Synonym of eliminatable_edges for usage in templates.
• int angel::eliminatable_objects (const line_graph_t &lg, vector< line_graph_-t::face_t > &fv)
Synonym of eliminatable_faces for usage in templates.
• int angel::eliminatable_objects (const line_graph_t &lg, vector< triplet_t >&tv)
Synonym of eliminatable_triplets for usage in templates.
• bool angel::convert_elimination_sequence (const vector< c_graph_t::vertex_t >&vv, const c_graph_t &cg, vector< edge_ij_elim_t > &ev)
Converts vertex elimination sequence into (mixed) edge elimination sequence.
• bool angel::convert_elimination_sequence (const vector< edge_ij_elim_t >&ev, const line_graph_t &lg, vector< triplet_t > &tv)
Converts (mixed) edge elimination sequence into face elimination sequence.
• EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, const c_graph_t&angelLCG, const list< EdgeRef_t > &edge_ref_list)
• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ angel::getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG,const list< EdgeRef_t > &edge_ref_list)
• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)
• void angel::setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)
• void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list)
• unsigned int angel::multiply_edge_pair_directly (const c_graph_-t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.8 angel/include/eliminations.hpp File Reference 495
• unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)
• unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)
• unsigned int angel::pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_-t e2, c_graph_t &angelLCG, const elimSeq_cost_t ¤tElimSeq,refillDependenceMap_t &refillDependences)
• unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)
• unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
496 angel File Documentation
10.9 angel/include/gmpi.hpp File Reference
#include "mpi.h"
#include <utility>
#include <vector>
#include <list>
#include <deque>
#include "gmpi_impl.hpp"
Include dependency graph for gmpi.hpp:
angel/include/gmpi.hpp
mpi.h utility vector list deque gmpi_impl.hpp
Namespaces
• namespace GMPI
Classes
• class GMPI::buffer_t< Base_t >
• class GMPI::comm_ref_t< Base_t, Object_t >
• class GMPI::Comm• class GMPI::Intracomm
Functions
• MPI::Datatype GMPI::which_mpi_t (char)
Returns MPI data type for all available base types.
• MPI::Datatype GMPI::which_mpi_t (signed short)• MPI::Datatype GMPI::which_mpi_t (unsigned char)• MPI::Datatype GMPI::which_mpi_t (double)• MPI::Datatype GMPI::which_mpi_t (long double)• MPI::Datatype GMPI::which_mpi_t (pair< int, int >)• MPI::Datatype GMPI::which_mpi_t (pair< float, int >)• MPI::Datatype GMPI::which_mpi_t (pair< double, int >)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.9 angel/include/gmpi.hpp File Reference 497
• MPI::Datatype GMPI::which_mpi_t (pair< long double, int >)• MPI::Datatype GMPI::which_mpi_t (pair< short, int >)• template<typename Base_t>
const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, Base_t &input)
Read one entry of buffer’s base type.
• template<typename Base_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constBase_t &output)
Write one entry of buffer’s base type.
• template<typename Base_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, vector< Base_t > &input)
Read a vector of buffer’s base type in faster mode than arbitrary vectors.
• template<typename Base_t>const buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer,const vector< Base_t > &output)
Write a vector of buffer’s base type in faster mode than arbitrary vectors.
• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, pair< Scalar1_t, Scalar2_t > &input)
Reads a pair of arbitrary types.
• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constpair< Scalar1_t, Scalar2_t > &output)
Writes a pair of arbitrary types.
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, vector< Scalar_t > &input)
Reads a vector of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constvector< Scalar_t > &output)
Writes (appends to) a vector of an arbitrary type.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
498 angel File Documentation
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, list< Scalar_t > &input)
Reads a list of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constlist< Scalar_t > &output)
Writes (appends to) a list of an arbitrary type.
• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, deque< Scalar_t > &input)
Reads a deque of an arbitrary type.
• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constdeque< Scalar_t > &output)
Writes (appends to) a deque of an arbitrary type.
Variables
• const MPI::Datatype GMPI::mpi_size_t = which_mpi_t (size_t())MPI data type to communicate sizes.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.10 angel/include/gmpi_impl.hpp File Reference 499
10.10 angel/include/gmpi_impl.hpp File Reference
This graph shows which files directly or indirectly include this file:
angel/include/gmpi_impl.hpp
angel/include/gmpi.hpp
Namespaces
• namespace GMPI
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
500 angel File Documentation
10.11 angel/include/graph_generator.hpp File Refer-ence
#include <vector>
#include "angel_types.hpp"
Include dependency graph for graph_generator.hpp:
angel/include/graph_generator.hpp
vector
angel_types.hpp
string
algorithm
iostream sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
This graph shows which files directly or indirectly include this file:
angel/include/graph_generator.hpp
angel/angel.hpp angel/src/graph_generator.cpp
Namespaces
• namespace angel
Classes
• struct angel::random_init_t
Functions
• void angel::random_statement (int inputs, int expr, const std::vector< double >&p, c_graph_t &statement)
Generates a random statement.
• void angel::random_statement_vector (int max_expr, double unary, std::vector<c_graph_t > &statement_vector)
Generates a vector of random statements.
• void angel::stats2block (int inputs, int outputs, const std::vector< c_graph_t >&stats, c_graph_t &block)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.11 angel/include/graph_generator.hpp File Reference 501
Build a block from a list of statements.
• void angel::random_block (int inputs, int outputs, int stats, int max_exp, doubleunary, c_graph_t &block)
Generates a random basic block.
• void angel::block2loop (const c_graph_t &block, int loops, c_graph_t &loop)Generates a DAG that represents a loop over the block.
Variables
• random_init_t angel::random_init_object
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
502 angel File Documentation
10.12 angel/include/heuristics.hpp File Reference
#include <vector>
#include "angel_types.hpp"
#include "angel_io.hpp"
#include "eliminations.hpp"
#include "reroutings.hpp"
#include "heuristics_impl.hpp"
Include dependency graph for heuristics.hpp:
angel/include/heuristics.hpp
vector
angel_types.hpp
angel_io.hpp
eliminations.hpp reroutings.hpp
heuristics_impl.hpp
string
algorithm
iostream sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hppxaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
fstream ctime angel_tools.hpp
cstdlib queue cmath numeric deque
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
limits.h
This graph shows which files directly or indirectly include this file:
angel/include/heuristics.hpp
angel/angel.hpp
angel/include/sa.hpp
angel/src/xaif_interface.cpp
angel/src/heuristics.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Classes
• class angel::base_heuristic_t< Objective_t >
• class angel::forward_mode_vertex_t
Operator class for forward mode in vertex elimination.
• class angel::reverse_mode_vertex_t
Operator class for reverse mode in vertex elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.12 angel/include/heuristics.hpp File Reference 503
• class angel::lowest_markowitz_vertex_tOperator class for lowest Markowitz in vertex elimination.
• class angel::lowest_relative_markowitz_vertex_tOperator class for relative lowest Markowitz in vertex elimination.
• class angel::lowest_fill_in_vertex_tOperator class for lowest fill-in in vertex elimination.
• class angel::lmmd_vertex_tClass for lowest Markowitz with minimal damage in vertex elimination.
• class angel::momr_vertex_tOperator class for maximal overall Markowitz degree reduction in vertex elimination.
• class angel::moplr_vertex_tOperator class for maximal overall path length reduction in vertex elimination.
• class angel::forward_mode_edge_tOperator class for mixed forward edge elimination.
• class angel::reverse_mode_edge_tOperator class for mixed reverse edge elimination.
• class angel::lowest_markowitz_edge_tOperator class for lowest Markowitz in mixed edge elimination.
• class angel::lowest_relative_markowitz_edge_tOperator class for lowest relative Markowitz in mixed edge elimination.
• class angel::lmmd_edge_tClass for lowest Markowitz with minimal damage in mixed edge elimination.
• class angel::momr_edge_tOperator class for lowest Markowitz in mixed edge elimination.
• class angel::minimal_distance_edge_tMinimizes the maximal distance of vertices involved in an edge elimination The moti-vation is that for small distances it is not very probable to re-insert one of new edgeslater.
• class angel::forward_mode_face_tOperator class for forward mode in face elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
504 angel File Documentation
• class angel::reverse_mode_face_tOperator class for reverse mode in vertex elimination.
• class angel::reverse_mode_face_whole_vertex_tOperator class for reverse_mode_face_whole_vertex.
• class angel::lowest_markowitz_face_t• class angel::lowest_markowitz_face_complete_t< Heuristic_t >
Lowest Markowitz for face elimination with completion of vertex elimination.
• class angel::momr_face_tOperator class for maximal overall Markowitz degree reduction in face elimination.
• class angel::minimal_distance_face_tMinimal distance for face elimination.
• class angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >
Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).
• class angel::triplet_heuristic_t< Face_heuristic_t >
Creates a heuristic for triplet type from a heuristic for faces.
• class angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >
Simulates vertex elimination heuristics with edge eliminations.
• class angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >
Make a pair of heuristics.
• class angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >
Make a pair of heuristics.
Functions
• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int angel::standard_heuristic_op (const vector< Object_t > &v1, const Ad_-graph_t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t> &h)
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
• int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.12 angel/include/heuristics.hpp File Reference 505
Forward mode in edge elimination.
• int angel::forward_mode_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in front edge elimination.
• int angel::forward_mode_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in back edge elimination.
• int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in edge elimination.
• int angel::reverse_mode_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in front edge elimination.
• int angel::reverse_mode_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in back edge elimination.
• int angel::lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in edge elimination.
• int angel::lowest_markowitz_edge_front (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in front edge elimination.
• int angel::lowest_markowitz_edge_back (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in back edge elimination.
• int angel::lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t> &ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest relative Markowitz in edge elimination.
• int angel::lowest_relative_markowitz_edge_front (const vector< c_graph_-t::edge_t > &ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest relative Markowitz in front edge elimination.
• int angel::lowest_relative_markowitz_edge_back (const vector< c_graph_-t::edge_t > &ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
506 angel File Documentation
Lowest relative Markowitz in back edge elimination.
• int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Fill-in in edge elimination.
• int angel::lowest_fill_in_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest fill-in in front edge elimination.
• int angel::lowest_fill_in_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest fill-in in back edge elimination.
• int angel::momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in edge elimination.
• int angel::momr_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in front edge elimination.
• int angel::momr_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in back edge elimination.
• int angel::moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall path length reduction in mixed edge elimination.
• void angel::markowitz_on_line_graph (const line_graph_t &lg, vector< int >&mdegree)
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic_noconst (Ad_graph_t &adg, vector< Object_t > &el_-seq, Heuristic_t h)
Use heuristic to transform c-/line graph into bi-/tri-partite graph.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.12 angel/include/heuristics.hpp File Reference 507
• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic_debug (const Ad_graph_t &adg, vector< Object_t >&el_seq, Heuristic_t h)
Debugging version of use_heuristic, several outputs.
• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int angel::use_heuristic_trace (const Ad_graph_t &adg, vector< Object_t >&el_seq, Heuristic_t h, Output_t output)
Tracing version of use_heuristic, writes costs for every elimination.
• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int angel::apply_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_-seq, Heuristic_t h, Output_t output)
Applies heuristic and uses output visitor write costs and graphs for every elimination.
• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)
Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.
• template<class Object_t, class Ad_graph_t, class Op_t>int angel::find_best_subset (const vector< Object_t > &v1, const Ad_graph_t&adg, vector< Object_t > &v2, Op_t op, bool maximize)
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
• int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion be.
• int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion ee.
• bool angel::maintaining_edge_eliminations (const vector<EdgeElim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets that don’t increase the nontrivial edgecount.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
508 angel File Documentation
• bool angel::reducing_edge_eliminations (const vector<EdgeElim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets that decrease the nontrivial edge count.
• bool angel::refill_avoiding_edge_eliminations (const vector< EdgeElim >&bev1, c_graph_t &angelLCG, const refillDependenceMap_t refillDepen-dences, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).
• bool angel::rerouting_considerate_edge_eliminations (const vector< EdgeE-lim > &bev, const c_graph_t &angelLCG, const std::vector< Transformation> &transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)
• unsigned int angel::lowestMarkowitzEdgeElim (const vector< EdgeElim >&inEEV, const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)
• bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, constc_graph_t &angelLCG, vector< EdgeElim > &outEEV)
• size_t angel::noncyclicReroutings (const vector< Rerouting > &erv, conststd::vector< Transformation > &transformationsPerformedV, const c_graph_t&angelLCG, vector< Rerouting > &noncyclicReroutingsV)
• bool angel::reducing_reroutings (const vector< Rerout-ing > &erv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Rerouting > &reducingReroutingsV)
• int angel::transformation_effect (const Transfor-mation t, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)
• bool angel::all_viable_transformations (c_graph_t &angelLCG, conststd::vector< Transformation > &transformationsPerformedV, vector< Trans-formation > &allViableTransformationsV)
• bool angel::maintaining_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)
• bool angel::reducing_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.12 angel/include/heuristics.hpp File Reference 509
• bool angel::refill_avoiding_transformations (const vector<Transformation > &tv, c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences,vector< Transformation > &refillAvoidingTransformationsV)
• bool angel::rerouting_considerate_transformations (const vector< Transforma-tion > &tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)
• bool angel::lowest_markowitz_transformations (const vector< Transformation> &tv, const c_graph_t &angelLCG, vector< Transformation > &lowest-MarkowitzTransformationsV)
• bool angel::reverse_mode_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, vector< Transformation > &reverseMode-TransformationsV)
Variables
• forward_mode_vertex_t angel::forward_mode_vertexForward mode in vertex elimination.
• reverse_mode_vertex_t angel::reverse_mode_vertexReverse mode in vertex elimination.
• lowest_markowitz_vertex_t angel::lowest_markowitz_vertexLowest Markowitz degree first in vertex elimination.
• lowest_relative_markowitz_vertex_t angel::lowest_relative_markowitz_vertexLowest relative Markowitz degree first in vertex elimination.
• lowest_fill_in_vertex_t angel::lowest_fill_in_vertexLowest fill-in in vertex elimination.
• lmmd_vertex_t angel::lmmd_vertexPredefined object of lmmd_vertex_t with weight=1.0.
• momr_vertex_t angel::momr_vertexInstance of momr_vertex_t, can be used as a function and an argument.
• moplr_vertex_t angel::moplr_vertexMaximal overall path length reduction in vertex elimination.
• forward_mode_edge_t angel::forward_mode_edge
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
510 angel File Documentation
Forward mode in edge elimination (mixed front and back elimination).
• reverse_mode_edge_t angel::reverse_mode_edgeReverse mode in edge elimination (mixed front and back elimination).
• lowest_markowitz_edge_t angel::lowest_markowitz_edgeLowest Markowitz in edge elimination (mixed front and back elimination).
• lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_edgeLowest relative Markowitz in edge elimination (mixed front and back elimination).
• lmmd_edge_t angel::lmmd_edgePredefined object of lmmd_edge_t with weight=1.0.
• momr_edge_t angel::momr_edgeMaximal overall Markowitz reduction in mixed edge elimination.
• forward_mode_face_t angel::forward_mode_faceForward mode in face elimination.
• reverse_mode_face_t angel::reverse_mode_faceReverse mode in face elimination.
• reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_vertexReverse mode emulating vertex elimination with face eliminations.
• lowest_markowitz_face_t angel::lowest_markowitz_faceLowest Markowitz for face elimination.
• momr_face_t angel::momr_faceMaximal overall Markowitz degree reduction in face elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.13 angel/include/heuristics_impl.hpp File Reference 511
10.13 angel/include/heuristics_impl.hpp File Reference
#include <set>
#include <limits.h>
#include "angel_exceptions.hpp"
Include dependency graph for heuristics_impl.hpp:
angel/include/heuristics_impl.hpp
set limits.h angel_exceptions.hpp
string iostream sstream
This graph shows which files directly or indirectly include this file:
angel/include/heuristics_impl.hpp
angel/include/heuristics.hpp
angel/angel.hpp
angel/include/sa.hpp
angel/src/xaif_interface.cpp
angel/src/heuristics.cpp
angel/src/sa.cpp
Namespaces
• namespace angel
Functions
• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)
Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
512 angel File Documentation
• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int angel::standard_heuristic_op (const vector< Object_t > &v1, const Ad_-graph_t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t> &h)
Find best subset of v1 w.r.t. op, skeleton for new heuristics.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.14 angel/include/reroutings.hpp File Reference 513
10.14 angel/include/reroutings.hpp File Reference
#include "angel_types.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp"
Include dependency graph for reroutings.hpp:
angel/include/reroutings.hpp
angel_types.hpp xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
vector
string
algorithm
iostream sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp
This graph shows which files directly or indirectly include this file:
angel/include/reroutings.hpp
angel/include/heuristics.hpp
angel/src/xaif_interface.cpp
angel/src/heuristics.cpp
angel/src/reroutings.cpp
angel/angel.hpp
angel/include/sa.hpp
angel/src/sa.cpp
Namespaces
• namespace angel
Functions
• void angel::reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t> &erv)
• unsigned int angel::reroutable_edges (c_graph_t &angelLCG, vector< Rerout-ing > &allReroutingsV)
• int angel::reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool &incrementIsTrivial)
• unsigned int angel::preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
• unsigned int angel::postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
514 angel File Documentation
• unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)
• unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.15 angel/include/sa.hpp File Reference 515
10.15 angel/include/sa.hpp File Reference
#include <cmath>
#include <numeric>
#include <vector>
#include "angel_exceptions.hpp"
#include "angel_types.hpp"
#include "angel_tools.hpp"
#include "angel_io.hpp"
#include "eliminations.hpp"
#include "heuristics.hpp"
#include "sa_impl.hpp"
Include dependency graph for sa.hpp:
angel/include/sa.hpp
cmath numeric
vector angel_exceptions.hpp
angel_types.hpp
angel_tools.hpp
angel_io.hpp
eliminations.hpp
heuristics.hpp sa_impl.hpp
string iostream sstream
algorithm boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
cstdlib queue deque
fstream ctime
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
reroutings.hpp
heuristics_impl.hpp
limits.h
This graph shows which files directly or indirectly include this file:
angel/include/sa.hpp
angel/angel.hpp angel/src/sa.cpp angel/src/xaif_interface.cpp
Namespaces
• namespace angel
Classes
• class angel::LOG_temperature_t
Functor that returns logarithmic temperature for LSA.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
516 angel File Documentation
• class angel::fixed_temperature_t
Functor that returns fixed temperature.
• class angel::SA_elimination_cost_t< Heuristic_t >
Computes the elimination costs for arbitrary elimination history type.
• struct angel::neighbor_last_removable_t
SA neighborhood either eliminate sth from eh.cg or undo last elimination.
• class angel::neighbor_multi_step_t
SA neighborhood for multiple eliminations or re-insertions.
• struct angel::neighbor_sequence_check_t
SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.
• struct angel::neighbor_check_meta_t
SA neighborhood either eliminate face from eh.cg or undo some previous elimination.
• class angel::gamma_adaption_max_t
Γ adaption on maximal min-max-difference
• class angel::gamma_adaption_average_t
Γ adaption on average min-max-difference
Functions
• template<class Temp_t>double angel::SA_acceptance (int diff, int it, Temp_t temp)
Probability to accept new object in SA.
• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int angel::SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_ttemp, int max_iter)
Simulated Annealing in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t>int angel::LSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, doublegamma, int max_iter)
Logarithmic Simulated Annealing in a general form.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.15 angel/include/sa.hpp File Reference 517
• template<class Object_t, class Neighbor_t, class Cost_t>int angel::FTSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double t,int max_iter)
Metropolis with fixed temperature in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int angel::ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs,Adaption_t adaption, double &gamma, int max_iter)
Adaptive Logarithmic Simulated Annealing in generic form.
• void angel::neighbor_swap (const std::vector< int > &old_seq, std::vector< int> &seq)
Swap two vertices in sequence (historical, only vertex elimination).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
518 angel File Documentation
10.16 angel/include/sa_impl.hpp File Reference
This graph shows which files directly or indirectly include this file:
angel/include/sa_impl.hpp
angel/include/sa.hpp
angel/angel.hpp angel/src/sa.cpp angel/src/xaif_interface.cpp
Namespaces
• namespace angel
Functions
• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int angel::SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_ttemp, int max_iter)
Simulated Annealing in a general form.
• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int angel::ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs,Adaption_t adaption, double &gamma, int max_iter)
Adaptive Logarithmic Simulated Annealing in generic form.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.17 angel/include/xaif_interface.hpp File Reference 519
10.17 angel/include/xaif_interface.hpp File Reference
#include "angel_types.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp"
#include "xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp"
Include dependency graph for xaif_interface.hpp:
angel/include/xaif_interface.hpp
angel_types.hpp xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp
vector
string
algorithm
iostream sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp
This graph shows which files directly or indirectly include this file:
angel/include/xaif_interface.hpp
angel/angel.hpp angel/src/xaif_interface.cpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
520 angel File Documentation
10.18 angel/src/angel_comm.cpp File Reference
#include "angel/include/angel_comm.hpp"
Include dependency graph for angel_comm.cpp:
angel/src/angel_comm.cpp
angel/include/angel_comm.hpp
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.19 angel/src/angel_io.cpp File Reference 521
10.19 angel/src/angel_io.cpp File Reference
#include "angel/include/angel_io.hpp"
#include <fstream>
#include <string.h>
#include <cstdio>
#include <vector>
#include "angel/include/angel_tools.hpp"
#include "angel/include/angel_exceptions.hpp"
Include dependency graph for angel_io.cpp:
angel/src/angel_io.cpp
angel/include/angel_io.hpp
vector
fstream
angel_exceptions.hpp
angel_tools.hpp
string.h cstdio
iostreamsstream string
ctime
angel_types.hpp
algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
cstdlib queuecmath numeric deque
Namespaces
• namespace angel• namespace std• namespace boost
Functions
• int angel::read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)
Read graph in EliAD graph format from file.
• void angel::write_face (std::ostream &stream, line_graph_t::face_t face, constline_graph_t &lg)
• void angel::write_face_vector (std::ostream &stream, const std::string &s, conststd::vector< line_graph_t::face_t > &v, const line_graph_t &lg)
• string angel::numbered_filename (const string &basename, const string &suffix,int number, int width=4)
• void angel::write_refillDependences (ostream &stream, constrefillDependenceMap_t &refillDependences)
• void angel::writeVertexAndEdgeTypes (ostream &stream, c_graph_t &an-gelLCG)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
522 angel File Documentation
Variables
• ofstream angel::log_file• no_output_t angel::no_output• string_stream_output_t angel::cout_string_output (std::cout)• vis_display_output_t angel::cout_vis_display_output (std::cout)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.20 angel/src/angel_tools.cpp File Reference 523
10.20 angel/src/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:
angel/src/angel_tools.cpp
angel/include/angel_tools.hpp
queue
angel_exceptions.hpp
angel/include/angel_io.hpp
angel/include/eliminations.hpp
cstdlib
string
vectoralgorithm
cmath numeric
iostream
dequeangel_types.hpp
sstream
boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
fstreamctime
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
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_ttgt, 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 &an-gelLCG, 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 &an-gelLCG, vertex_set_t &downset)
Returns a set of vertices in adg that v depends on.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
524 angel File Documentation
• 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, constline_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)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.20 angel/src/angel_tools.cpp File Reference 525
10.20.1 Define Documentation
10.20.1.1 #define ECONST 2.71828
10.20.1.2 #define ECONST 2.71828
10.20.1.3 #define ECONST 2.71828
Referenced by angel::chooseEdgeElimRandomly(), an-gel::chooseEdgeElimRandomlyGreedy(), and angel::chooseTarget_sa().
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
526 angel File Documentation
10.21 angel/src/angel_types.cpp File Reference
#include "angel/include/angel_types.hpp"
#include <iostream>
#include <string>
#include "angel/include/eliminations.hpp"
#include "angel/include/angel_tools.hpp"
#include "angel/include/angel_io.hpp"
Include dependency graph for angel_types.cpp:
angel/src/angel_types.cpp
angel/include/angel_types.hpp
stringiostream
angel/include/eliminations.hpp
angel_io.hpp
angel_tools.hpp
vector algorithm
sstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
fstream ctime
cstdlib queue cmath numeric deque
Namespaces
• namespace angel
Functions
• 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::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.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.22 angel/src/eliminations.cpp File Reference 527
10.22 angel/src/eliminations.cpp File Reference
#include "angel/include/eliminations.hpp"
#include "angel/include/angel_tools.hpp"
#include "angel/include/angel_io.hpp"
Include dependency graph for eliminations.cpp:
angel/src/eliminations.cpp
angel/include/eliminations.hpp
angel_io.hpp
angel_tools.hpp
angel_types.hpp
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
vector
string
algorithm
iostreamsstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
fstream ctime
cstdlib queue cmath numeric deque
Namespaces
• namespace angel
Functions
• int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::vertex_elimination (int j, line_graph_t &lg)• int angel::front_edge_elimination (int i, int j, line_graph_t &lg)• int angel::front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::back_edge_elimination (int i, int j, line_graph_t &lg)• int angel::back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg,
accu_graph_t &ac)• int angel::eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-
t::vertex_t > &vv)
Returns a set of vertices that can be eliminated from c-graph cg.
• int angel::semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)
Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.
• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
528 angel File Documentation
• int angel::front_eliminatable_edges (const c_graph_t &cg, std::vector< c_-graph_t::edge_t > &ev)
• int angel::back_eliminatable_edges (const c_graph_t &cg, std::vector< c_-graph_t::edge_t > &ev)
• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< edge_bool_t> &ev)
• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< edge_ij_-elim_t > &ev)
• unsigned int angel::eliminatable_edges (const c_graph_t &cg, std::vector<EdgeElim > &ev)
• int angel::eliminatable_faces (const line_graph_t &lg, std::vector< line_graph_-t::face_t > &fv)
• bool angel::convert_elimination_sequence (const vector< c_graph_t::vertex_t >&vv, const c_graph_t &cg, vector< edge_ij_elim_t > &ev)
Converts vertex elimination sequence into (mixed) edge elimination sequence.
• bool angel::convert_elimination_sequence (const vector< edge_ij_elim_t >&ev, const line_graph_t &lg, vector< triplet_t > &tv)
Converts (mixed) edge elimination sequence into face elimination sequence.
• EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, const c_graph_t&angelLCG, const list< EdgeRef_t > &edge_ref_list)
• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ angel::getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG,const list< EdgeRef_t > &edge_ref_list)
• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)
• void angel::setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)
• void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list)
• unsigned int angel::multiply_edge_pair_directly (const c_graph_-t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)
• unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)
• unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.22 angel/src/eliminations.cpp File Reference 529
• unsigned int angel::pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_-t e2, c_graph_t &angelLCG, const elimSeq_cost_t ¤tElimSeq,refillDependenceMap_t &refillDependences)
• unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t ¤tElimSeq, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)
• unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)
• unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
530 angel File Documentation
10.23 angel/src/graph_generator.cpp File Reference
#include "angel/include/graph_generator.hpp"
#include <vector>
#include <cstdlib>
#include <numeric>
#include "angel/include/angel_exceptions.hpp"
#include "angel/include/angel_types.hpp"
#include "angel/include/angel_tools.hpp"
#include "angel/include/angel_io.hpp"
Include dependency graph for graph_generator.cpp:
angel/src/graph_generator.cpp
angel/include/graph_generator.hpp
vector
angel_types.hpp
angel_exceptions.hpp
cstdlib numeric
angel/include/angel_tools.hpp
angel/include/angel_io.hpp
string
algorithm
iostream sstream
boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
queue cmathdeque
fstream ctime
Namespaces
• namespace angel
Functions
• void angel::random_statement (int inputs, int expr, const vector< double > &p,c_graph_t &statement)
• void angel::random_statement_vector (int max_expr, double unary, std::vector<c_graph_t > &statement_vector)
Generates a vector of random statements.
• void angel::stats2block (int inputs, int outputs, const std::vector< c_graph_t >&stats, c_graph_t &block)
Build a block from a list of statements.
• void angel::random_block (int inputs, int outputs, int stats, int max_exp, doubleunary, c_graph_t &block)
Generates a random basic block.
• void angel::block2loop (const c_graph_t &block, int loops, c_graph_t &loop)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.23 angel/src/graph_generator.cpp File Reference 531
Generates a DAG that represents a loop over the block.
Variables
• random_init_t angel::random_init_object
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
532 angel File Documentation
10.24 angel/src/heuristics.cpp File Reference
#include <limits.h>
#include <algorithm>
#include "angel/include/heuristics.hpp"
#include "angel/include/angel_exceptions.hpp"
#include "angel/include/angel_tools.hpp"
#include "angel/include/reroutings.hpp"
Include dependency graph for heuristics.cpp:
angel/src/heuristics.cpp
limits.h
algorithm
angel/include/heuristics.hpp
angel_exceptions.hpp
angel_tools.hpp
reroutings.hpp
vector
angel_types.hpp
angel_io.hpp
eliminations.hppheuristics_impl.hpp
stringiostreamsstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hppboost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
fstream ctime
cstdlibqueue cmath numeric deque
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
Namespaces
• namespace angel
Classes
• struct angel::lmv_op_t• struct angel::lrm_op_t• struct angel::fiv_op_t• struct angel::markowitz_enlargement_front_t• struct angel::markowitz_enlargement_back_t• struct angel::lmmdv_op_t• struct angel::momrv_op_t• struct angel::oplrv_op_t• struct angel::lme_op_t• struct angel::lmmde_op_t• struct angel::momre_op_t• struct angel::diste_op_t• struct angel::lmf_op_t• class angel::new_pik_t• struct angel::source_not_independent_t• class angel::new_iks_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.24 angel/src/heuristics.cpp File Reference 533
• struct angel::target_not_dependent_t• struct angel::momrf_op_t• struct angel::distf_op_t
Functions
• int angel::new_in_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::new_out_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::markowitz_enlargement_front (c_graph_t::edge_t e, const c_graph_t
&cg, bool eliminate_parallel_edges=false)• int angel::markowitz_enlargement_front (c_graph_t::edge_t e, c_graph_-
t::edge_t e2, const c_graph_t &cg)• int angel::markowitz_enlargement_back (c_graph_t::edge_t e, const c_graph_t
&cg, bool eliminate_parallel_edges=false)• int angel::markowitz_enlargement_back (c_graph_t::edge_t e, c_graph_-
t::edge_t e2, const c_graph_t &cg)• int angel::markowitz_enlargement_all_neighbors (c_graph_t::vertex_t v, const
c_graph_t &cg)• int angel::oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const vector<
int > &vni, const vector< int > &vli, const vector< int > &vno, const vector<int > &vlo, const c_graph_t &cg)
• int angel::oplr_edge_front (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)
• int angel::oplr_edge_back (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)
• int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Forward mode in edge elimination.
• double angel::fme_obj (edge_bool_t eb, const c_graph_t &cg)• int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool
front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Reverse mode in edge elimination.
• double angel::rme_obj (edge_bool_t eb, const c_graph_t &cg)• int angel::lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1,
bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Markowitz in edge elimination.
• int angel::lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t> &ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
534 angel File Documentation
Lowest relative Markowitz in edge elimination.
• int angel::fill_in_front (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::fill_in_back (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, bool
front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Lowest Fill-in in edge elimination.
• int angel::lmmd_edge_front (c_graph_t::edge_t e, double w, const c_graph_t&cg)
• int angel::lmmd_edge_back (c_graph_t::edge_t e, double w, const c_graph_-t &cg)
• int angel::momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,
const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall Markowitz reduction in edge elimination.
• int angel::moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)
Maximal overall path length reduction in mixed edge elimination.
• double angel::fmf_obj (line_graph_t::face_t f, const line_graph_t &lg)• void angel::markowitz_on_line_graph (const line_graph_t &lg, vector< int >
&mdegree)• int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,
const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,
const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• bool angel::maintaining_edge_eliminations (const vector< EdgeElim >
&bev1, const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > &bev2)
• bool angel::reducing_edge_eliminations (const vector< EdgeElim > &bev1,const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)
• bool angel::refill_avoiding_edge_eliminations (const vector< EdgeElim >&bev1, c_graph_t &angelLCG, const refillDependenceMap_t refillDepen-dences, vector< EdgeElim > &bev2)
Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.24 angel/src/heuristics.cpp File Reference 535
• bool angel::rerouting_considerate_edge_eliminations (const vector< EdgeE-lim > &bev, const c_graph_t &angelLCG, const std::vector< Transformation> &transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)
• unsigned int angel::lowestMarkowitzEdgeElim (const vector< EdgeElim >&inEEV, const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)
• bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, constc_graph_t &angelLCG, vector< EdgeElim > &outEEV)
• size_t angel::noncyclicReroutings (const vector< Rerouting > &erv, conststd::vector< Transformation > &transformationsPerformedV, const c_graph_t&angelLCG, vector< Rerouting > &noncyclicReroutingsV)
• bool angel::reducing_reroutings (const vector< Rerouting > &erv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Rerouting > &reducingReroutingsV)
• int angel::transformation_effect (const Transformation t, const c_graph_t &an-gelLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)
• bool angel::all_viable_transformations (c_graph_t &angelLCG, conststd::vector< Transformation > &transformationsPerformedV, vector< Trans-formation > &allViableTransformationsV)
• bool angel::maintaining_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)
• bool angel::reducing_transformations (const vector< Transformation > &tv,const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)
• bool angel::refill_avoiding_transformations (const vector< Transformation> &tv, c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences, vector<Transformation > &refillAvoidingTransformationsV)
• bool angel::rerouting_considerate_transformations (const vector< Transforma-tion > &tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)
• bool angel::lowest_markowitz_transformations (const vector< Transformation> &tv, const c_graph_t &angelLCG, vector< Transformation > &lowest-MarkowitzTransformationsV)
• bool angel::reverse_mode_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, vector< Transformation > &reverseMode-TransformationsV)
Variables
• forward_mode_vertex_t angel::forward_mode_vertex
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
536 angel File Documentation
Forward mode in vertex elimination.
• reverse_mode_vertex_t angel::reverse_mode_vertexReverse mode in vertex elimination.
• lowest_markowitz_vertex_t angel::lowest_markowitz_vertexLowest Markowitz degree first in vertex elimination.
• lowest_relative_markowitz_vertex_t angel::lowest_relative_markowitz_vertexLowest relative Markowitz degree first in vertex elimination.
• lowest_fill_in_vertex_t angel::lowest_fill_in_vertexLowest fill-in in vertex elimination.
• lmmd_vertex_t angel::lmmd_vertex (1.0)Predefined object of lmmd_vertex_t with weight=1.0.
• momr_vertex_t angel::momr_vertexInstance of momr_vertex_t, can be used as a function and an argument.
• moplr_vertex_t angel::moplr_vertexMaximal overall path length reduction in vertex elimination.
• forward_mode_edge_t angel::forward_mode_edgeForward mode in edge elimination (mixed front and back elimination).
• reverse_mode_edge_t angel::reverse_mode_edgeReverse mode in edge elimination (mixed front and back elimination).
• lowest_markowitz_edge_t angel::lowest_markowitz_edgeLowest Markowitz in edge elimination (mixed front and back elimination).
• lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_edgeLowest relative Markowitz in edge elimination (mixed front and back elimination).
• lmmd_edge_t angel::lmmd_edge (1.0)Predefined object of lmmd_edge_t with weight=1.0.
• momr_edge_t angel::momr_edgeMaximal overall Markowitz reduction in mixed edge elimination.
• minimal_distance_edge_t angel::minimal_distance_edge• forward_mode_face_t angel::forward_mode_face
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.24 angel/src/heuristics.cpp File Reference 537
Forward mode in face elimination.
• reverse_mode_face_t angel::reverse_mode_faceReverse mode in face elimination.
• reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_vertexReverse mode emulating vertex elimination with face eliminations.
• momr_face_t angel::momr_faceMaximal overall Markowitz degree reduction in face elimination.
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
538 angel File Documentation
10.25 angel/src/reroutings.cpp File Reference
#include "angel/include/angel_tools.hpp"
#include "angel/include/eliminations.hpp"
#include "angel/include/reroutings.hpp"
Include dependency graph for reroutings.cpp:
angel/src/reroutings.cpp
angel/include/angel_tools.hpp
angel/include/eliminations.hppangel/include/reroutings.hpp
cstdlib
string
vector
queue
algorithm
cmath numeric
iostream
deque
angel_exceptions.hpp
angel_types.hpp
sstream
boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
angel_io.hppxaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
fstream ctime
Namespaces
• namespace angel
Functions
• void angel::reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t> &erv)
• unsigned int angel::reroutable_edges (c_graph_t &angelLCG, vector< Rerout-ing > &allReroutingsV)
• int angel::reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, bool &incre-mentIsTrivial)
• unsigned int angel::preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)
• unsigned int angel::postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)
• unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)
• unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.26 angel/src/sa.cpp File Reference 539
10.26 angel/src/sa.cpp File Reference
#include "angel/include/sa.hpp"
#include <cmath>
Include dependency graph for sa.cpp:
angel/src/sa.cpp
angel/include/sa.hpp
cmath numeric
vector angel_exceptions.hpp
angel_types.hpp
angel_tools.hpp
angel_io.hpp
eliminations.hpp
heuristics.hpp sa_impl.hpp
string iostream sstream
algorithm boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp
cstdlib queue deque
fstream ctime
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
reroutings.hpp
heuristics_impl.hpp
limits.h
Namespaces
• namespace angel
Functions
• void angel::neighbor_swap (const std::vector< int > &old_seq, std::vector< int> &seq)
Swap two vertices in sequence (historical, only vertex elimination).
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
540 angel File Documentation
10.27 angel/src/xaif_interface.cpp File Reference
#include <set>
#include "angel/include/xaif_interface.hpp"
#include "angel/include/eliminations.hpp"
#include "angel/include/heuristics.hpp"
#include "angel/include/reroutings.hpp"
#include "angel/include/angel_tools.hpp"
#include "angel/include/angel_io.hpp"
#include "angel/include/sa.hpp"
Include dependency graph for xaif_interface.cpp:
angel/src/xaif_interface.cpp
set
angel/include/xaif_interface.hpp
angel/include/eliminations.hpp
angel_io.hpp
angel_tools.hpp
angel/include/heuristics.hpp
reroutings.hpp
angel/include/sa.hpp
angel_types.hpp
xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp
vector
string
algorithm
iostreamsstream
boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hppxaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp
xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp
fstream ctime
cstdlib queue cmath numericdequeheuristics_impl.hpp
limits.h
sa_impl.hpp
Namespaces
• namespace angel• namespace xaifBoosterCrossCountryInterface
Classes
• struct angel::edge_address_t
Functions
• size_t angel::which_index (const LinearizedComputationalGraphVertex ∗constadd, const vector< const LinearizedComputationalGraphVertex ∗ > &av)
• void angel::read_graph_xaif_booster (const LinearizedComputationalGraph&xg, c_graph_t &cg, vector< const LinearizedComputationalGraphVertex ∗ >&av, vector< edge_address_t > &ae)
• const LinearizedComputationalGraphEdge ∗ angel::xaif_edge_pr (line_graph_-t::edge_t e, const accu_graph_t &ag, const vector< edge_address_t > &ae)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
10.27 angel/src/xaif_interface.cpp File Reference 541
• void angel::write_graph_xaif_booster (const accu_graph_t &ag, const vector<const LinearizedComputationalGraphVertex ∗ > &av, const vector< edge_-address_t > &ae, JacobianAccumulationExpressionList &JAElist, Lin-earizedComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_-list, EdgeCorrelationList &e_cor_list)
• unsigned int angel::num_nontrivial_edges (const c_graph_t &angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel)
• unsigned int angel::numIntermediateVertices (const c_graph_t &angelLCG)• unsigned int angel::numIntermediateVerticesWithoutUnitEdge (const c_graph_t
&angelLCG)• void angel::ourLCG_to_angelLCG (const LinearizedComputationalGraph
&ourLCG, vector< const LinearizedComputationalGraphVertex ∗ >&ourLCG_verts, c_graph_t &angelLCG, list< EdgeRef_t > &edge_ref_-list)
• void angel::populate_remainderGraph_and_correlationLists (const c_graph_-t &angelLCG, const vector< const LinearizedComputationalGraphVertex ∗ >ourLCG_verts, const list< EdgeRef_t > &edge_ref_list, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
• unsigned int angel::replay_transformation_seq (c_graph_t &angelLCG, constvector< Transformation > transformationSeqV, unsigned int &previous_-numNontrivialEdges, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, transformationSeq_cost_t &dummy_transformationSeq_cost,refillDependenceMap_t &dummy_refillDependenceMap)
• void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list)
• void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list)
• void xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list, unsigned int &numReroutings)
• void xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence (const LinearizedComputationalGraph &ourLCG, const
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
542 angel File Documentation
AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list, unsigned int &numReroutings)
• void xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom(const LinearizedComputationalGraph &ourLCG, JacobianAccumulationEx-pressionList &jae_list, LinearizedComputationalGraph &remainderLCG, Ver-texCorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)
• void xaifBoosterCrossCountryInterface::compute_elimination_sequence (constLinearizedComputationalGraph &xgraph, JacobianAccumulationExpression-List &JAElist, LinearizedComputationalGraph &remainderLCG, VertexCorre-lationList &v_cor_list, EdgeCorrelationList &e_cor_list)
• void xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-face (const LinearizedComputationalGraph &xgraph, int iterations, doublegamma, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
• void xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-vertex (const LinearizedComputationalGraph &xgraph, int iterations, doublegamma, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
Index
∼line_graph_tangel::line_graph_t, 329
_eangel::markowitz_enlargement_-
back_t, 368angel::markowitz_enlargement_-
front_t, 371
accu_expangel::accu_graph_t, 219
accu_exp_propertyangel, 52
accu_graph_tangel::accu_graph_t, 218
ad_edge_tangel, 52
ad_graph_tangel::elimination_history_t, 281
addangel::accu_exp_t, 215
addressangel::edge_address_t, 258GMPI::buffer_t, 232
adgangel::predecessor_t, 409angel::successor_t, 437
all_viable_transformationsangel, 57
AllreduceGMPI::Intracomm, 319
ALSAangel, 57
angel, 21accu_exp_property, 52ad_edge_t, 52all_viable_transformations, 57ALSA, 57
apply_heuristic, 58back_edge_elimination, 59–61back_elim, 61back_eliminatable_edges, 62back_eliminate_edge_directly, 62backEdgeElimination_noJAE, 63best_heuristic, 63block2loop, 64block_begin, 65chooseEdgeElimRandomly, 65chooseEdgeElimRandomlyGreedy,
65chooseTarget_sa, 66close_log_file, 66common_predecessor, 66common_successors, 66CONSTANT_EDGE, 56convert_elimination_sequence, 67count_parallel_edges, 68cout_string_output, 177cout_vis_display_output, 177dead_vertex, 56dependent, 56edge, 68edge_bool_t, 53edge_elim_effect, 69, 70edge_elim_seq_t, 53edge_elimination, 70–75edge_elimination_history_t, 53edge_ij_elim_seq_t, 53edge_index_weight_property, 53edge_pair_elim_seq_t, 53Edge_Type_E, 56edge_type_index_weight_property,
54edge_vertex_elim_seq_t, 54edge_vertex_name, 75
544 INDEX
edge_weight_property, 54EdgeRefType_E, 56eliminatable_edges, 76, 77eliminatable_faces, 77, 78eliminatable_objects, 78–80eliminatable_triplets, 80eliminatable_vertices, 81eliminate, 81–84face_elimination, 85–90face_elimination_history_t, 54face_vertex_name, 91fill_in_back, 92fill_in_front, 92find_best_subset, 92find_edge, 92fme_obj, 93fmf_obj, 93for_all_edges, 93, 94for_all_in_edges, 94for_all_out_edges, 94forward_mode_edge, 177forward_mode_edge_back, 94forward_mode_edge_f, 95forward_mode_edge_front, 96forward_mode_face, 178forward_mode_vertex, 179front_edge_elimination, 96–98front_elim, 99front_eliminatable_edges, 99front_eliminate_edge_directly, 99frontEdgeElimination_noJAE, 100FTSA, 101gen_prob, 102getEdge, 102getJAE_p, 102getLCG_p, 102getRefType, 103in_out_path_lengths, 103independent, 56independent_vertices_to_front, 103,
104intermediate, 56inv_lex_greater, 104inv_lex_less, 104is_bipartite, 104is_tripartite, 105
JAE_VERT, 56LCG_EDGE, 56lex_greater, 105lex_less, 105lex_less_face, 106lmmd_edge, 180lmmd_edge_back, 106lmmd_edge_front, 106lmmd_vertex, 180log_file, 180lowest_fill_in_edge_back, 107lowest_fill_in_edge_f, 107lowest_fill_in_edge_front, 108lowest_fill_in_vertex, 180, 181lowest_markowitz_edge, 181lowest_markowitz_edge_back, 109lowest_markowitz_edge_f, 109lowest_markowitz_edge_front, 110lowest_markowitz_face, 182lowest_markowitz_transformations,
111lowest_markowitz_vertex, 182, 183lowest_relative_markowitz_edge,
183lowest_relative_markowitz_edge_-
back, 111lowest_relative_markowitz_edge_f,
112lowest_relative_markowitz_edge_-
front, 112lowest_relative_markowitz_vertex,
184lowestMarkowitzEdgeElim, 113LSA, 113maintaining_edge_eliminations, 114maintaining_transformations, 115markowitz_degree, 115markowitz_enlargement_all_-
neighbors, 116markowitz_enlargement_back, 116markowitz_enlargement_front, 117markowitz_on_line_graph, 117maximal_paths, 118minimal_distance_edge, 185minimal_in_out_degree, 118minimal_markowitz_degree, 118
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 545
momr_edge, 185momr_edge_back, 118, 119momr_edge_f, 119momr_edge_front, 120momr_face, 185, 186momr_vertex, 186moplr_edge, 121moplr_vertex, 187multiply_edge_pair_directly, 122neighbor_swap, 123new_in_edges, 123new_out_edges, 123no_output, 187noncyclicReroutings, 123num_nontrivial_edges, 123number_dependent_vertices, 124number_independent_vertices, 124numbered_filename, 124numIntermediateVertices, 124numIntermediateVerticesWithoutU-
nitEdge, 125open_log_file, 125operator!=, 125operator<<, 126, 127operator==, 127oplr_edge_back, 128oplr_edge_front, 128oplr_face, 128ourLCG_to_angelLCG, 129overall_markowitz_degree, 129, 130overall_minimal_markowitz_degree,
130pair_elim, 130pairElim_noJAE, 131permutate_vertices, 131populate_remainderGraph_and_-
correlationLists, 132postroute_edge_directly, 132, 133postrouteEdge_noJAE, 133predecessor_set, 133preroute_edge_directly, 133, 134prerouteEdge_noJAE, 134pure_accu_exp_graph_t, 54pure_c_graph_t, 54pure_line_graph_t, 54put_unit_edge_weight, 134
put_unit_vertex_weight, 135random, 135random_block, 136random_high, 136random_init_object, 187, 188random_statement, 137random_statement_vector, 137reachable, 138reachable_vertices, 138read_graph_eliad, 139read_graph_xaif_booster, 139reducing_edge_eliminations, 140reducing_reroutings, 140, 141reducing_transformations, 141, 142refill_avoiding_edge_eliminations,
142refill_avoiding_transformations, 143refillDependenceMap_t, 55relevant_vertices, 143remove_edges, 144remove_hoisting_vertices, 144remove_irrelevant_edges, 144remove_parallel_edges, 145remove_trivial_edges, 145remove_unreachable_edges, 145removeRef, 146renumber_edges, 146replay_transformation_seq, 146reroutable_edges, 147reroute_effect, 148rerouting_considerate_edge_-
eliminations, 148rerouting_considerate_-
transformations, 148reverse_mode_edge, 188reverse_mode_edge_back, 149reverse_mode_edge_f, 149reverse_mode_edge_front, 150reverse_mode_face, 189reverse_mode_face_whole_vertex,
190reverse_mode_transformations, 151reverse_mode_vertex, 190, 191reverseModeEdgeElim, 151rme_obj, 151SA, 152
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
546 INDEX
SA_acceptance, 153same_edge, 153same_neighbors, 153same_predecessors, 154same_successors, 154search_path, 155semi_eliminatable_vertices, 155setJaevRef, 155sorted_predecessor_set, 156sorted_successor_set, 156standard_heuristic_op, 156stats2block, 157successor_set, 158sum_over_all_in_edges, 158sum_over_all_out_edges, 158take_over_successors, 158transformation_effect, 159uint_pair_t, 55UNDEFINED, 56undefined_vertex, 56unique_vector, 160UNIT_EDGE, 56use_heuristic, 160use_heuristic_debug, 161use_heuristic_noconst, 161use_heuristic_trace, 162VARIABLE_EDGE, 56vertex_degree_property, 55vertex_downset, 163vertex_eliminatable, 163vertex_elimination, 163–165vertex_elimination_history_t, 55vertex_name_degree_property, 55vertex_set_t, 55vertex_type, 165vertex_type_t, 56vertex_upset, 165vertex_visited_property, 55was_non_trivial_elimination, 165,
166which_index, 167write_edge_property, 167write_face, 167, 168write_face_vector, 168write_graph, 169–171write_graph_eliad, 172, 173
write_graph_xaif_booster, 173write_iterators, 174write_refillDependences, 174write_vector, 174, 175write_vertex_property, 176writeVertexAndEdgeTypes, 176xaif_edge_pr, 176
angel/ Directory Reference, 17angel/angel.hpp, 467angel/include/ Directory Reference, 18angel/include/angel_comm.hpp, 468angel/include/angel_comm_impl.hpp,
469angel/include/angel_exceptions.hpp, 470angel/include/angel_io.hpp, 473angel/include/angel_tools.hpp, 477angel/include/angel_types.hpp, 485angel/include/eliminations.hpp, 490angel/include/gmpi.hpp, 496angel/include/gmpi_impl.hpp, 499angel/include/graph_generator.hpp, 500angel/include/heuristics.hpp, 502angel/include/heuristics_impl.hpp, 511angel/include/reroutings.hpp, 513angel/include/sa.hpp, 515angel/include/sa_impl.hpp, 518angel/include/xaif_interface.hpp, 519angel/src/ Directory Reference, 19angel/src/angel_comm.cpp, 520angel/src/angel_io.cpp, 521angel/src/angel_tools.cpp, 523angel/src/angel_types.cpp, 526angel/src/eliminations.cpp, 527angel/src/graph_generator.cpp, 530angel/src/heuristics.cpp, 532angel/src/reroutings.cpp, 538angel/src/sa.cpp, 539angel/src/xaif_interface.cpp, 540angel::accu_exp_graph_t, 211
dependents, 213set_graph, 212v, 212X, 213x, 212y, 212z, 213
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 547
angel::accu_exp_tadd, 215exp, 215isop, 215lgn, 215mult, 215nothing, 215
angel::accu_exp_t, 214op_t, 215ref, 216ref_kind, 216ref_kind_t, 215set_exp, 215set_node, 215set_op, 215
angel::accu_exp_t::ref_t, 217exp_nr, 217node, 217op, 217
angel::accu_graph_t, 218accu_exp, 219accu_graph_t, 218cg, 219exp_nr, 220jacobi_entries, 219lg, 219set_jacobi_entries, 219
angel::base_exception, 221base_exception, 222reason, 222say_reason, 222what_reason, 222
angel::base_heuristic_t, 223base_heuristic_t, 225is_set, 225my_maximize, 226my_objective, 225objective, 225objective_t, 224set_empty_objective, 225set_objective, 225to_maximize, 225
angel::c_graph_t, 235block2loop, 245c_graph_t, 240, 241check, 243
check_initial, 244clear_edges, 244clear_graph, 244const_eind_t, 239const_etype_t, 240const_ew_t, 239dependents, 246edge_t, 238ei_t, 238eind_t, 239etype_t, 240ew_t, 239iei_t, 239next_edge_number, 246oei_t, 239operator=, 241pure_graph_t, 238read_graph_eliad, 245read_graph_xaif_booster, 246remove_dependents_with_-
successors, 244stats2block, 245swap, 241unpack_graph, 246v, 242vertex_t, 238vertex_type, 243vi_t, 238X, 246x, 241, 242y, 242z, 242
angel::consistency_exception, 253consistency_exception, 253
angel::dec_greater, 254dec_greater, 254operator(), 254vc, 255
angel::diste_op_t, 256operator(), 256
angel::distf_op_t, 257operator(), 257
angel::edge_address_t, 258address, 258e, 258edge_address_t, 258
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
548 INDEX
angel::edge_elim_t, 259edge, 259front, 259
angel::edge_equal_t, 260edge_equal_t, 261g1, 261g2, 261operator(), 261
angel::edge_ij_elim_heuristic_t, 262edge_ij_elim_heuristic_t, 262h, 263operator(), 263
angel::edge_ij_elim_t, 264edge_ij_elim_t, 264front, 265i, 264j, 264
angel::edge_less_t, 266edge_less_t, 267g1, 267g2, 267operator(), 267
angel::edge_pair_elim_t, 268front, 268i, 268j, 268
angel::edge_reroute_t, 269e, 269edge_reroute_t, 269increment_eliminatable, 270isPre, 270pivot_e, 270pivot_eliminatable, 270type3EdgeElimVector, 270
angel::edge_vertex_elim_t, 271edge, 271front, 271
angel::EdgeElim, 272debug, 273EdgeElim, 272, 273getBool, 274getCost, 274getE, 274getSource, 273getTarget, 273isFront, 273
myIsFrontFlag, 275mySource, 275myTarget, 275
angel::EdgeRef_t, 276EdgeRef_t, 276my_angelLCGedge, 277my_JAE_vertex_p, 277my_LCG_edge_p, 277my_type, 277
angel::EdgeType, 278kind, 278num, 278
angel::elimination_history_t, 279ad_graph_t, 281ccosts, 288cg, 288check, 286check_sequence, 285complete_sequence, 287el_spec_t, 281elimination, 284elimination_history_t, 281–283og, 287operator=, 284rebuild_graph, 286seq, 288swap, 284
angel::elimSeq_cost_t, 290bestNumNontrivialEdges, 291cost, 291costAtBestEdgecount, 291edgeElimVector, 290elimSeq_cost_t, 290lastDesiredElim, 291numIntermediatesAtBestEdgecount,
291numIntermediatesWithoutUnit-
EdgeAtBestEdgecount, 291revealedNewDependence, 291
angel::empty_operator_t, 293operator(), 293
angel::emulated_vertex_heuristic_t, 294emulated_vertex_heuristic_t, 295h, 295last_vertex, 295operator(), 295
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 549
angel::fiv_op_t, 296operator(), 296
angel::fixed_temperature_t, 297fixed_temperature_t, 297operator(), 297t, 298
angel::forward_mode_edge_t, 299forward_mode_edge_t, 300operator(), 300
angel::forward_mode_face_t, 301forward_mode_face_t, 302operator(), 302
angel::forward_mode_vertex_t, 303forward_mode_vertex_t, 304operator(), 304
angel::gamma_adaption_average_t, 305D, 306gamma_adaption_average_t, 306imp, 307last_max, 307last_min, 306operator(), 306scaling, 307sum_diff, 306
angel::gamma_adaption_max_t, 308D, 309diff, 309gamma_adaption_max_t, 309imp, 310last_max, 310last_min, 310max_diff, 309operator(), 309scaling, 310
angel::heuristic_pair_t, 311h1, 312h2, 312heuristic_pair_t, 312operator(), 312
angel::heuristic_triplet_t, 314h1, 315h2, 315h3, 315heuristic_triplet_t, 315operator(), 315
angel::io_exception, 320
io_exception, 320angel::lex_less_face_line_t, 321
lex_less_face_line_t, 321lg, 322operator(), 321
angel::line_graph_t, 323∼line_graph_t, 329cgp, 334check, 332clear_edges, 331clear_graph, 331cons_ok, 333const_ed_t, 327const_evn_t, 327copy_properties, 331dependents, 333ed_t, 327edge_t, 326ei_t, 326evn_t, 327face_elimination, 333face_t, 326fi_t, 326ifi_t, 326is_tripartite, 332line_graph_t, 328ofi_t, 327operator=, 330pure_graph_t, 326swap, 330unpack_graph, 333v, 329vertex_type, 331X, 333x, 329y, 329z, 330
angel::lme_op_t, 335operator(), 335
angel::lmf_op_t, 336lmf_op_t, 336mdegree, 337operator(), 336
angel::lmmd_edge_t, 338lmmd_edge_t, 339operator(), 339
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
550 INDEX
weight, 340angel::lmmd_vertex_t, 341
lmmd_vertex_t, 342operator(), 342weight, 343
angel::lmmde_op_t, 344lmmde_op_t, 344operator(), 344w, 345
angel::lmmdv_op_t, 346lmmdv_op_t, 346operator(), 346w, 347
angel::lmv_op_t, 348operator(), 348
angel::LOG_temperature_t, 349gamma, 350LOG_temperature_t, 349operator(), 349
angel::lowest_fill_in_vertex_t, 351lowest_fill_in_vertex_t, 352operator(), 352
angel::lowest_markowitz_edge_t, 353lowest_markowitz_edge_t, 354operator(), 354
angel::lowest_markowitz_face_-complete_t, 355
lastv, 357lowest_markowitz_face_complete_t,
356operator(), 356tiebreaker, 357
angel::lowest_markowitz_face_t, 358lowest_markowitz_face_t, 359operator(), 359
angel::lowest_markowitz_vertex_t, 360lowest_markowitz_vertex_t, 361operator(), 361
angel::lowest_relative_markowitz_edge_-t, 362
lowest_relative_markowitz_edge_t,363
operator(), 363angel::lowest_relative_markowitz_-
vertex_t, 364
lowest_relative_markowitz_vertex_-t, 365
operator(), 365angel::lrm_op_t, 366
dep, 367indep, 367lrm_op_t, 366operator(), 366, 367
angel::markowitz_enlargement_back_t,368
_e, 368markowitz_enlargement_back_t,
368operator(), 368
angel::markowitz_enlargement_front_t,370
_e, 371markowitz_enlargement_front_t,
370operator(), 370
angel::minimal_distance_edge_t, 372minimal_distance_edge_t, 373operator(), 373
angel::minimal_distance_face_t, 374minimal_distance_face_t, 375operator(), 375
angel::momr_edge_t, 376momr_edge_t, 377operator(), 377
angel::momr_face_t, 378momr_face_t, 379operator(), 379
angel::momr_vertex_t, 380momr_vertex_t, 381operator(), 381
angel::momre_op_t, 382operator(), 382
angel::momrf_op_t, 383operator(), 383
angel::momrv_op_t, 384operator(), 384
angel::moplr_vertex_t, 385moplr_vertex_t, 386operator(), 386
angel::neighbor_check_meta_t, 387operator(), 387
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 551
angel::neighbor_last_removable_t, 389operator(), 389
angel::neighbor_multi_step_t, 391max_steps, 392neighbor_multi_step_t, 391operator(), 391
angel::neighbor_sequence_check_t, 393operator(), 393
angel::new_iks_t, 395i, 396k, 396new_iks_t, 395operator(), 395
angel::new_pik_t, 397i, 398k, 398new_pik_t, 397operator(), 397
angel::no_output_t, 399operator(), 399write_graph, 399
angel::not_lex_less_face_line_t, 401lg, 402not_lex_less_face_line_t, 401operator(), 402
angel::oplrv_op_t, 403operator(), 403oplrv_op_t, 403vli, 404vlo, 404vni, 404vno, 404
angel::predecessor_t, 405adg, 409clear_vertices, 409degree, 407ds_t, 407ed_t, 406edges, 407ei_t, 406first, 408gei_t, 406independents, 409last, 408neighbor, 407, 408predecessor_t, 407
rdegree, 408redges, 408rei_t, 406rneighbor, 408vd_t, 406vi_t, 406
angel::random_init_t, 410dummy, 410random_init_t, 410
angel::Rerouting, 411debug, 412getE, 413getER, 413getI, 414getJ, 414getK, 414getPivotE, 413i, 415init, 415isPre, 412j, 415k, 415operator==, 414pre, 415Rerouting, 412
angel::reverse_mode_edge_t, 417operator(), 418reverse_mode_edge_t, 418
angel::reverse_mode_face_t, 419operator(), 420reverse_mode_face_t, 420
angel::reverse_mode_face_whole_-vertex_t, 421
operator(), 422reverse_mode_face_whole_vertex_t,
422angel::reverse_mode_vertex_t, 423
operator(), 424reverse_mode_vertex_t, 424
angel::SA_elimination_cost_t, 425h, 426operator(), 426SA_elimination_cost_t, 426
angel::source_not_independent_t, 427operator(), 427
angel::stream_output_t, 428
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
552 INDEX
stream_output_t, 428write_graph, 429
angel::string_stream_output_t, 430mystream, 431operator(), 431operator<<, 431string_stream_output_t, 431
angel::successor_t, 433adg, 437clear_vertices, 437degree, 435ds_t, 435ed_t, 434edges, 435ei_t, 434first, 436gei_t, 434independents, 437last, 436neighbor, 435rdegree, 436redges, 436rei_t, 434rneighbor, 436successor_t, 435vd_t, 434vi_t, 434
angel::target_not_dependent_t, 438operator(), 438
angel::Transformation, 439debug, 441getEdgeElim, 441getRerouting, 441isRerouting, 441myEdgeElim, 442myIsReroutingFlag, 442myRerouting, 442Transformation, 440
angel::transformationSeq_cost_t, 443bestNumNontrivialEdges, 444cost, 444costAtBestEdgecount, 444lastDesiredTransformation, 444numIntermediatesAtBestEdgecount,
444
numIntermediatesWithoutUnit-EdgeAtBestEdgecount, 444
revealedNewDependence, 445transformationSeq_cost_t, 443transformationVector, 444
angel::triplet_heuristic_t, 446h, 447operator(), 447triplet_heuristic_t, 447
angel::triplet_t, 448i, 448j, 448k, 449triplet_t, 448
angel::VertexVisited, 450kind, 450
angel::vis_display_output_t, 451vis_display_output_t, 451write_graph, 452
angel::write_edge_bool_op_t, 453cg, 454operator(), 453write_edge_bool_op_t, 453
angel::write_edge_eliad_op_t, 455operator(), 455stream, 456write_edge_eliad_op_t, 455
angel::write_edge_name_op_t, 457evn, 458lg, 458operator(), 458write_edge_name_op_t, 457
angel::write_edge_op_t, 459cg, 460operator(), 459write_edge_op_t, 459
angel::write_face_number_op_t, 461lg, 462operator(), 461write_face_number_op_t, 461
angel::write_face_op_t, 463evn, 464lg, 464operator(), 464write_face_op_t, 463
angel::write_vertex_op_t, 465
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 553
cg, 466operator(), 465write_vertex_op_t, 465
angel_exceptions.hppTHROW_DEBUG_EXCEPT_-
MACRO, 471THROW_EXCEPT_MACRO, 471
angel_tools.cppECONST, 525
apply_heuristicangel, 58
back_edge_eliminationangel, 59–61
back_elimangel, 61
back_eliminatable_edgesangel, 62
back_eliminate_edge_directlyangel, 62
backEdgeElimination_noJAEangel, 63
BarrierGMPI::Intracomm, 318
base_exceptionangel::base_exception, 222
base_heuristic_tangel::base_heuristic_t, 225
base_tGMPI::buffer_t, 229GMPI::comm_ref_t, 251
base_t_sizeGMPI::buffer_t, 232
BcastGMPI::Intracomm, 318
best_heuristicangel, 63
bestNumNontrivialEdgesangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
444block2loop
angel, 64angel::c_graph_t, 245
block_beginangel, 65
boost, 192buffer_address
GMPI::buffer_t, 232buffer_t
GMPI::buffer_t, 229
c_graph_tangel::c_graph_t, 240, 241
ccostsangel::elimination_history_t, 288
cgangel::accu_graph_t, 219angel::elimination_history_t, 288angel::write_edge_bool_op_t, 454angel::write_edge_op_t, 460angel::write_vertex_op_t, 466
cgpangel::line_graph_t, 334
checkangel::c_graph_t, 243angel::elimination_history_t, 286angel::line_graph_t, 332
check_initialangel::c_graph_t, 244
check_sequenceangel::elimination_history_t, 285
chooseEdgeElimRandomlyangel, 65
chooseEdgeElimRandomlyGreedyangel, 65
chooseTarget_saangel, 66
clear_edgesangel::c_graph_t, 244angel::line_graph_t, 331
clear_graphangel::c_graph_t, 244angel::line_graph_t, 331
clear_verticesangel::predecessor_t, 409angel::successor_t, 437
close_log_fileangel, 66
CommGMPI::Comm, 248
comm_ref_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
554 INDEX
GMPI::comm_ref_t, 252common_predecessor
angel, 66common_successors
angel, 66complete_sequence
angel::elimination_history_t, 287compute_elimination_sequence
xaifBoosterCrossCountryInterface,202
compute_elimination_sequence_lsa_facexaifBoosterCrossCountryInterface,
202compute_elimination_sequence_lsa_-
vertexxaifBoosterCrossCountryInterface,
203compute_partial_elimination_sequence
xaifBoosterCrossCountryInterface,204
compute_partial_elimination_sequence_-random
xaifBoosterCrossCountryInterface,205
compute_partial_transformation_-sequence
xaifBoosterCrossCountryInterface,206
compute_partial_transformation_-sequence_random
xaifBoosterCrossCountryInterface,207
computeEliminationSequenceRandomxaifBoosterCrossCountryInterface,
209cons_ok
angel::line_graph_t, 333consistency_exception
angel::consistency_exception, 253const_ed_t
angel::line_graph_t, 327const_eind_t
angel::c_graph_t, 239const_etype_t
angel::c_graph_t, 240const_evn_t
angel::line_graph_t, 327const_ew_t
angel::c_graph_t, 239CONSTANT_EDGE
angel, 56convert_elimination_sequence
angel, 67copy_properties
angel::line_graph_t, 331cost
angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
444costAtBestEdgecount
angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
444count_parallel_edges
angel, 68cout_string_output
angel, 177cout_vis_display_output
angel, 177
Dangel::gamma_adaption_average_t,
306angel::gamma_adaption_max_t, 309
dead_vertexangel, 56
debugangel::EdgeElim, 273angel::Rerouting, 412angel::Transformation, 441
dec_greaterangel::dec_greater, 254
degreeangel::predecessor_t, 407angel::successor_t, 435
depangel::lrm_op_t, 367
dependentangel, 56
dependentsangel::accu_exp_graph_t, 213angel::c_graph_t, 246
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 555
angel::line_graph_t, 333diff
angel::gamma_adaption_max_t, 309ds_t
angel::predecessor_t, 407angel::successor_t, 435
dummyangel::random_init_t, 410
eangel::edge_address_t, 258angel::edge_reroute_t, 269
ECONSTangel_tools.cpp, 525
ed_tangel::line_graph_t, 327angel::predecessor_t, 406angel::successor_t, 434
edgeangel, 68angel::edge_elim_t, 259angel::edge_vertex_elim_t, 271
edge_address_tangel::edge_address_t, 258
edge_bool_tangel, 53
edge_elim_effectangel, 69, 70
edge_elim_seq_tangel, 53
edge_eliminationangel, 70–75
edge_elimination_history_tangel, 53
edge_equal_tangel::edge_equal_t, 261
edge_ij_elim_heuristic_tangel::edge_ij_elim_heuristic_t, 262
edge_ij_elim_seq_tangel, 53
edge_ij_elim_tangel::edge_ij_elim_t, 264
edge_index_weight_propertyangel, 53
edge_less_tangel::edge_less_t, 267
edge_pair_elim_seq_tangel, 53
edge_reroute_tangel::edge_reroute_t, 269
edge_tangel::c_graph_t, 238angel::line_graph_t, 326
Edge_Type_Eangel, 56
edge_type_index_weight_propertyangel, 54
edge_vertex_elim_seq_tangel, 54
edge_vertex_nameangel, 75
edge_weight_propertyangel, 54
EdgeElimangel::EdgeElim, 272, 273
edgeElimVectorangel::elimSeq_cost_t, 290
EdgeRef_tangel::EdgeRef_t, 276
EdgeRefType_Eangel, 56
edgesangel::predecessor_t, 407angel::successor_t, 435
ei_tangel::c_graph_t, 238angel::line_graph_t, 326angel::predecessor_t, 406angel::successor_t, 434
eind_tangel::c_graph_t, 239
el_spec_tangel::elimination_history_t, 281
eliminatable_edgesangel, 76, 77
eliminatable_facesangel, 77, 78
eliminatable_objectsangel, 78–80
eliminatable_tripletsangel, 80
eliminatable_vertices
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
556 INDEX
angel, 81eliminate
angel, 81–84elimination
angel::elimination_history_t, 284elimination_history_t
angel::elimination_history_t, 281–283
elimSeq_cost_tangel::elimSeq_cost_t, 290
emptyGMPI::buffer_t, 229
emulated_vertex_heuristic_tangel::emulated_vertex_heuristic_t,
295etype_t
angel::c_graph_t, 240evn
angel::write_edge_name_op_t, 458angel::write_face_op_t, 464
evn_tangel::line_graph_t, 327
ew_tangel::c_graph_t, 239
expangel::accu_exp_t, 215
exp_nrangel::accu_exp_t::ref_t, 217angel::accu_graph_t, 220
face_eliminationangel, 85–90angel::line_graph_t, 333
face_elimination_history_tangel, 54
face_tangel::line_graph_t, 326
face_vertex_nameangel, 91
fi_tangel::line_graph_t, 326
fill_in_backangel, 92
fill_in_frontangel, 92
find_best_subset
angel, 92find_edge
angel, 92first
angel::predecessor_t, 408angel::successor_t, 436
fixed_temperature_tangel::fixed_temperature_t, 297
fme_objangel, 93
fmf_objangel, 93
for_all_edgesangel, 93, 94
for_all_in_edgesangel, 94
for_all_out_edgesangel, 94
forward_mode_edgeangel, 177
forward_mode_edge_backangel, 94
forward_mode_edge_fangel, 95
forward_mode_edge_frontangel, 96
forward_mode_edge_tangel::forward_mode_edge_t, 300
forward_mode_faceangel, 178
forward_mode_face_tangel::forward_mode_face_t, 302
forward_mode_vertexangel, 179
forward_mode_vertex_tangel::forward_mode_vertex_t, 304
freeGMPI::buffer_t, 232
frontangel::edge_elim_t, 259angel::edge_ij_elim_t, 265angel::edge_pair_elim_t, 268angel::edge_vertex_elim_t, 271
front_edge_eliminationangel, 96–98
front_elim
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 557
angel, 99front_eliminatable_edges
angel, 99front_eliminate_edge_directly
angel, 99frontEdgeElimination_noJAE
angel, 100FTSA
angel, 101
g1angel::edge_equal_t, 261angel::edge_less_t, 267
g2angel::edge_equal_t, 261angel::edge_less_t, 267
gammaangel::LOG_temperature_t, 350
gamma_adaption_average_tangel::gamma_adaption_average_t,
306gamma_adaption_max_t
angel::gamma_adaption_max_t, 309Gather
GMPI::Intracomm, 319gei_t
angel::predecessor_t, 406angel::successor_t, 434
gen_probangel, 102
Get_rankGMPI::Comm, 250
Get_sizeGMPI::Comm, 249
getBoolangel::EdgeElim, 274
getCostangel::EdgeElim, 274
getEangel::EdgeElim, 274angel::Rerouting, 413
getEdgeangel, 102
getEdgeElimangel::Transformation, 441
getER
angel::Rerouting, 413getI
angel::Rerouting, 414getJ
angel::Rerouting, 414getJAE_p
angel, 102getK
angel::Rerouting, 414getLCG_p
angel, 102getPivotE
angel::Rerouting, 413getRefType
angel, 103getRerouting
angel::Transformation, 441getSource
angel::EdgeElim, 273getTarget
angel::EdgeElim, 273GMPI, 193
mpi_size_t, 199operator<<, 195, 196operator>>, 196–198which_mpi_t, 198, 199
GMPI::buffer_t, 227address, 232base_t, 229base_t_size, 232buffer_address, 232buffer_t, 229empty, 229free, 232load, 231mpi_t, 232my_buffer, 233read, 230read_pos, 233read_write, 233remaining, 230reserve, 229size, 231store, 231unread, 230write, 230
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
558 INDEX
write_pos, 233GMPI::Comm, 248
Comm, 248Get_rank, 250Get_size, 249mpi_comm_ref, 249my_comm, 250Recv, 249Send, 249
GMPI::comm_ref_t, 251base_t, 251comm_ref_t, 252my_object_ref, 252object_ref, 252object_t, 251
GMPI::Intracomm, 317Allreduce, 319Barrier, 318Bcast, 318Gather, 319Intracomm, 318Reduce, 318
hangel::edge_ij_elim_heuristic_t, 263angel::emulated_vertex_heuristic_t,
295angel::SA_elimination_cost_t, 426angel::triplet_heuristic_t, 447
h1angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315
h2angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315
h3angel::heuristic_triplet_t, 315
heuristic_pair_tangel::heuristic_pair_t, 312
heuristic_triplet_tangel::heuristic_triplet_t, 315
iangel::edge_ij_elim_t, 264angel::edge_pair_elim_t, 268angel::new_iks_t, 396
angel::new_pik_t, 398angel::Rerouting, 415angel::triplet_t, 448
iei_tangel::c_graph_t, 239
ifi_tangel::line_graph_t, 326
impangel::gamma_adaption_average_t,
307angel::gamma_adaption_max_t, 310
in_out_path_lengthsangel, 103
increment_eliminatableangel::edge_reroute_t, 270
indepangel::lrm_op_t, 367
independentangel, 56
independent_vertices_to_frontangel, 103, 104
independentsangel::predecessor_t, 409angel::successor_t, 437
initangel::Rerouting, 415
intermediateangel, 56
IntracommGMPI::Intracomm, 318
inv_lex_greaterangel, 104
inv_lex_lessangel, 104
io_exceptionangel::io_exception, 320
is_bipartiteangel, 104
is_setangel::base_heuristic_t, 225
is_tripartiteangel, 105angel::line_graph_t, 332
isFrontangel::EdgeElim, 273
isop
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 559
angel::accu_exp_t, 215isPre
angel::edge_reroute_t, 270angel::Rerouting, 412
isReroutingangel::Transformation, 441
jangel::edge_ij_elim_t, 264angel::edge_pair_elim_t, 268angel::Rerouting, 415angel::triplet_t, 448
jacobi_entriesangel::accu_graph_t, 219
JAE_VERTangel, 56
kangel::new_iks_t, 396angel::new_pik_t, 398angel::Rerouting, 415angel::triplet_t, 449
kindangel::EdgeType, 278angel::VertexVisited, 450
lastangel::predecessor_t, 408angel::successor_t, 436
last_maxangel::gamma_adaption_average_t,
307angel::gamma_adaption_max_t, 310
last_minangel::gamma_adaption_average_t,
306angel::gamma_adaption_max_t, 310
last_vertexangel::emulated_vertex_heuristic_t,
295lastDesiredElim
angel::elimSeq_cost_t, 291lastDesiredTransformation
angel::transformationSeq_cost_t,444
lastv
angel::lowest_markowitz_face_-complete_t, 357
LCG_EDGEangel, 56
lex_greaterangel, 105
lex_lessangel, 105
lex_less_faceangel, 106
lex_less_face_line_tangel::lex_less_face_line_t, 321
lgangel::accu_graph_t, 219angel::lex_less_face_line_t, 322angel::not_lex_less_face_line_t, 402angel::write_edge_name_op_t, 458angel::write_face_number_op_t, 462angel::write_face_op_t, 464
lgnangel::accu_exp_t, 215
line_graph_tangel::line_graph_t, 328
lmf_op_tangel::lmf_op_t, 336
lmmd_edgeangel, 180
lmmd_edge_backangel, 106
lmmd_edge_frontangel, 106
lmmd_edge_tangel::lmmd_edge_t, 339
lmmd_vertexangel, 180
lmmd_vertex_tangel::lmmd_vertex_t, 342
lmmde_op_tangel::lmmde_op_t, 344
lmmdv_op_tangel::lmmdv_op_t, 346
loadGMPI::buffer_t, 231
log_fileangel, 180
LOG_temperature_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
560 INDEX
angel::LOG_temperature_t, 349lowest_fill_in_edge_back
angel, 107lowest_fill_in_edge_f
angel, 107lowest_fill_in_edge_front
angel, 108lowest_fill_in_vertex
angel, 180, 181lowest_fill_in_vertex_t
angel::lowest_fill_in_vertex_t, 352lowest_markowitz_edge
angel, 181lowest_markowitz_edge_back
angel, 109lowest_markowitz_edge_f
angel, 109lowest_markowitz_edge_front
angel, 110lowest_markowitz_edge_t
angel::lowest_markowitz_edge_t,354
lowest_markowitz_faceangel, 182
lowest_markowitz_face_complete_tangel::lowest_markowitz_face_-
complete_t, 356lowest_markowitz_face_t
angel::lowest_markowitz_face_t,359
lowest_markowitz_transformationsangel, 111
lowest_markowitz_vertexangel, 182, 183
lowest_markowitz_vertex_tangel::lowest_markowitz_vertex_t,
361lowest_relative_markowitz_edge
angel, 183lowest_relative_markowitz_edge_back
angel, 111lowest_relative_markowitz_edge_f
angel, 112lowest_relative_markowitz_edge_front
angel, 112lowest_relative_markowitz_edge_t
angel::lowest_relative_markowitz_-edge_t, 363
lowest_relative_markowitz_vertexangel, 184
lowest_relative_markowitz_vertex_tangel::lowest_relative_markowitz_-
vertex_t, 365lowestMarkowitzEdgeElim
angel, 113lrm_op_t
angel::lrm_op_t, 366LSA
angel, 113
maintaining_edge_eliminationsangel, 114
maintaining_transformationsangel, 115
markowitz_degreeangel, 115
markowitz_enlargement_all_neighborsangel, 116
markowitz_enlargement_backangel, 116
markowitz_enlargement_back_tangel::markowitz_enlargement_-
back_t, 368markowitz_enlargement_front
angel, 117markowitz_enlargement_front_t
angel::markowitz_enlargement_-front_t, 370
markowitz_on_line_graphangel, 117
max_diffangel::gamma_adaption_max_t, 309
max_stepsangel::neighbor_multi_step_t, 392
maximal_pathsangel, 118
mdegreeangel::lmf_op_t, 337
minimal_distance_edgeangel, 185
minimal_distance_edge_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 561
angel::minimal_distance_edge_t,373
minimal_distance_face_tangel::minimal_distance_face_t, 375
minimal_in_out_degreeangel, 118
minimal_markowitz_degreeangel, 118
momr_edgeangel, 185
momr_edge_backangel, 118, 119
momr_edge_fangel, 119
momr_edge_frontangel, 120
momr_edge_tangel::momr_edge_t, 377
momr_faceangel, 185, 186
momr_face_tangel::momr_face_t, 379
momr_vertexangel, 186
momr_vertex_tangel::momr_vertex_t, 381
moplr_edgeangel, 121
moplr_vertexangel, 187
moplr_vertex_tangel::moplr_vertex_t, 386
mpi_comm_refGMPI::Comm, 249
mpi_size_tGMPI, 199
mpi_tGMPI::buffer_t, 232
multangel::accu_exp_t, 215
multiply_edge_pair_directlyangel, 122
my_angelLCGedgeangel::EdgeRef_t, 277
my_bufferGMPI::buffer_t, 233
my_commGMPI::Comm, 250
my_JAE_vertex_pangel::EdgeRef_t, 277
my_LCG_edge_pangel::EdgeRef_t, 277
my_maximizeangel::base_heuristic_t, 226
my_object_refGMPI::comm_ref_t, 252
my_objectiveangel::base_heuristic_t, 225
my_typeangel::EdgeRef_t, 277
myEdgeElimangel::Transformation, 442
myIsFrontFlagangel::EdgeElim, 275
myIsReroutingFlagangel::Transformation, 442
myReroutingangel::Transformation, 442
mySourceangel::EdgeElim, 275
mystreamangel::string_stream_output_t, 431
myTargetangel::EdgeElim, 275
neighborangel::predecessor_t, 407, 408angel::successor_t, 435
neighbor_multi_step_tangel::neighbor_multi_step_t, 391
neighbor_swapangel, 123
new_iks_tangel::new_iks_t, 395
new_in_edgesangel, 123
new_out_edgesangel, 123
new_pik_tangel::new_pik_t, 397
next_edge_numberangel::c_graph_t, 246
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
562 INDEX
no_outputangel, 187
nodeangel::accu_exp_t::ref_t, 217
noncyclicReroutingsangel, 123
not_lex_less_face_line_tangel::not_lex_less_face_line_t, 401
nothingangel::accu_exp_t, 215
numangel::EdgeType, 278
num_nontrivial_edgesangel, 123
number_dependent_verticesangel, 124
number_independent_verticesangel, 124
numbered_filenameangel, 124
numIntermediatesAtBestEdgecountangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
444numIntermediatesWithoutUnitEdgeAtBestEdgecount
angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
444numIntermediateVertices
angel, 124numIntermediateVerticesWithoutUnitEdge
angel, 125
object_refGMPI::comm_ref_t, 252
object_tGMPI::comm_ref_t, 251
objectiveangel::base_heuristic_t, 225
objective_tangel::base_heuristic_t, 224
oei_tangel::c_graph_t, 239
ofi_tangel::line_graph_t, 327
og
angel::elimination_history_t, 287op
angel::accu_exp_t::ref_t, 217op_t
angel::accu_exp_t, 215open_log_file
angel, 125operator!=
angel, 125operator()
angel::dec_greater, 254angel::diste_op_t, 256angel::distf_op_t, 257angel::edge_equal_t, 261angel::edge_ij_elim_heuristic_t, 263angel::edge_less_t, 267angel::empty_operator_t, 293angel::emulated_vertex_heuristic_t,
295angel::fiv_op_t, 296angel::fixed_temperature_t, 297angel::forward_mode_edge_t, 300angel::forward_mode_face_t, 302angel::forward_mode_vertex_t, 304angel::gamma_adaption_average_t,
306angel::gamma_adaption_max_t, 309angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315angel::lex_less_face_line_t, 321angel::lme_op_t, 335angel::lmf_op_t, 336angel::lmmd_edge_t, 339angel::lmmd_vertex_t, 342angel::lmmde_op_t, 344angel::lmmdv_op_t, 346angel::lmv_op_t, 348angel::LOG_temperature_t, 349angel::lowest_fill_in_vertex_t, 352angel::lowest_markowitz_edge_t,
354angel::lowest_markowitz_face_-
complete_t, 356angel::lowest_markowitz_face_t,
359
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 563
angel::lowest_markowitz_vertex_t,361
angel::lowest_relative_markowitz_-edge_t, 363
angel::lowest_relative_markowitz_-vertex_t, 365
angel::lrm_op_t, 366, 367angel::markowitz_enlargement_-
back_t, 368angel::markowitz_enlargement_-
front_t, 370angel::minimal_distance_edge_t,
373angel::minimal_distance_face_t, 375angel::momr_edge_t, 377angel::momr_face_t, 379angel::momr_vertex_t, 381angel::momre_op_t, 382angel::momrf_op_t, 383angel::momrv_op_t, 384angel::moplr_vertex_t, 386angel::neighbor_check_meta_t, 387angel::neighbor_last_removable_t,
389angel::neighbor_multi_step_t, 391angel::neighbor_sequence_check_t,
393angel::new_iks_t, 395angel::new_pik_t, 397angel::no_output_t, 399angel::not_lex_less_face_line_t, 402angel::oplrv_op_t, 403angel::reverse_mode_edge_t, 418angel::reverse_mode_face_t, 420angel::reverse_mode_face_whole_-
vertex_t, 422angel::reverse_mode_vertex_t, 424angel::SA_elimination_cost_t, 426angel::source_not_independent_t,
427angel::string_stream_output_t, 431angel::target_not_dependent_t, 438angel::triplet_heuristic_t, 447angel::write_edge_bool_op_t, 453angel::write_edge_eliad_op_t, 455angel::write_edge_name_op_t, 458
angel::write_edge_op_t, 459angel::write_face_number_op_t, 461angel::write_face_op_t, 464angel::write_vertex_op_t, 465
operator<<angel, 126, 127angel::string_stream_output_t, 431GMPI, 195, 196
operator=angel::c_graph_t, 241angel::elimination_history_t, 284angel::line_graph_t, 330
operator==angel, 127angel::Rerouting, 414
operator>>GMPI, 196–198
oplr_edge_backangel, 128
oplr_edge_frontangel, 128
oplr_faceangel, 128
oplrv_op_tangel::oplrv_op_t, 403
ourLCG_to_angelLCGangel, 129
overall_markowitz_degreeangel, 129, 130
overall_minimal_markowitz_degreeangel, 130
pair_elimangel, 130
pairElim_noJAEangel, 131
permutate_verticesangel, 131
pivot_eangel::edge_reroute_t, 270
pivot_eliminatableangel::edge_reroute_t, 270
populate_remainderGraph_and_-correlationLists
angel, 132postroute_edge_directly
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
564 INDEX
angel, 132, 133postrouteEdge_noJAE
angel, 133pre
angel::Rerouting, 415predecessor_set
angel, 133predecessor_t
angel::predecessor_t, 407preroute_edge_directly
angel, 133, 134prerouteEdge_noJAE
angel, 134pure_accu_exp_graph_t
angel, 54pure_c_graph_t
angel, 54pure_graph_t
angel::c_graph_t, 238angel::line_graph_t, 326
pure_line_graph_tangel, 54
put_unit_edge_weightangel, 134
put_unit_vertex_weightangel, 135
randomangel, 135
random_blockangel, 136
random_highangel, 136
random_init_objectangel, 187, 188
random_init_tangel::random_init_t, 410
random_statementangel, 137
random_statement_vectorangel, 137
rdegreeangel::predecessor_t, 408angel::successor_t, 436
reachableangel, 138
reachable_verticesangel, 138
readGMPI::buffer_t, 230
read_graph_eliadangel, 139angel::c_graph_t, 245
read_graph_xaif_boosterangel, 139angel::c_graph_t, 246
read_posGMPI::buffer_t, 233
read_writeGMPI::buffer_t, 233
reasonangel::base_exception, 222
rebuild_graphangel::elimination_history_t, 286
RecvGMPI::Comm, 249
redgesangel::predecessor_t, 408angel::successor_t, 436
ReduceGMPI::Intracomm, 318
reducing_edge_eliminationsangel, 140
reducing_reroutingsangel, 140, 141
reducing_transformationsangel, 141, 142
refangel::accu_exp_t, 216
ref_kindangel::accu_exp_t, 216
ref_kind_tangel::accu_exp_t, 215
refill_avoiding_edge_eliminationsangel, 142
refill_avoiding_transformationsangel, 143
refillDependenceMap_tangel, 55
rei_tangel::predecessor_t, 406angel::successor_t, 434
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 565
relevant_verticesangel, 143
remainingGMPI::buffer_t, 230
remove_dependents_with_successorsangel::c_graph_t, 244
remove_edgesangel, 144
remove_hoisting_verticesangel, 144
remove_irrelevant_edgesangel, 144
remove_parallel_edgesangel, 145
remove_trivial_edgesangel, 145
remove_unreachable_edgesangel, 145
removeRefangel, 146
renumber_edgesangel, 146
replay_transformation_seqangel, 146
reroutable_edgesangel, 147
reroute_effectangel, 148
Reroutingangel::Rerouting, 412
rerouting_considerate_edge_eliminationsangel, 148
rerouting_considerate_transformationsangel, 148
reserveGMPI::buffer_t, 229
revealedNewDependenceangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,
445reverse_mode_edge
angel, 188reverse_mode_edge_back
angel, 149reverse_mode_edge_f
angel, 149
reverse_mode_edge_frontangel, 150
reverse_mode_edge_tangel::reverse_mode_edge_t, 418
reverse_mode_faceangel, 189
reverse_mode_face_tangel::reverse_mode_face_t, 420
reverse_mode_face_whole_vertexangel, 190
reverse_mode_face_whole_vertex_tangel::reverse_mode_face_whole_-
vertex_t, 422reverse_mode_transformations
angel, 151reverse_mode_vertex
angel, 190, 191reverse_mode_vertex_t
angel::reverse_mode_vertex_t, 424reverseModeEdgeElim
angel, 151rme_obj
angel, 151rneighbor
angel::predecessor_t, 408angel::successor_t, 436
SAangel, 152
SA_acceptanceangel, 153
SA_elimination_cost_tangel::SA_elimination_cost_t, 426
same_edgeangel, 153
same_neighborsangel, 153
same_predecessorsangel, 154
same_successorsangel, 154
say_reasonangel::base_exception, 222
scalingangel::gamma_adaption_average_t,
307
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
566 INDEX
angel::gamma_adaption_max_t, 310search_path
angel, 155semi_eliminatable_vertices
angel, 155Send
GMPI::Comm, 249seq
angel::elimination_history_t, 288set_empty_objective
angel::base_heuristic_t, 225set_exp
angel::accu_exp_t, 215set_graph
angel::accu_exp_graph_t, 212set_jacobi_entries
angel::accu_graph_t, 219set_node
angel::accu_exp_t, 215set_objective
angel::base_heuristic_t, 225set_op
angel::accu_exp_t, 215setJaevRef
angel, 155size
GMPI::buffer_t, 231sorted_predecessor_set
angel, 156sorted_successor_set
angel, 156standard_heuristic_op
angel, 156stats2block
angel, 157angel::c_graph_t, 245
std, 200store
GMPI::buffer_t, 231stream
angel::write_edge_eliad_op_t, 456stream_output_t
angel::stream_output_t, 428string_stream_output_t
angel::string_stream_output_t, 431successor_set
angel, 158successor_t
angel::successor_t, 435sum_diff
angel::gamma_adaption_average_t,306
sum_over_all_in_edgesangel, 158
sum_over_all_out_edgesangel, 158
swapangel::c_graph_t, 241angel::elimination_history_t, 284angel::line_graph_t, 330
tangel::fixed_temperature_t, 298
take_over_successorsangel, 158
THROW_DEBUG_EXCEPT_MACROangel_exceptions.hpp, 471
THROW_EXCEPT_MACROangel_exceptions.hpp, 471
tiebreakerangel::lowest_markowitz_face_-
complete_t, 357to_maximize
angel::base_heuristic_t, 225Transformation
angel::Transformation, 440transformation_effect
angel, 159transformationSeq_cost_t
angel::transformationSeq_cost_t,443
transformationVectorangel::transformationSeq_cost_t,
444triplet_heuristic_t
angel::triplet_heuristic_t, 447triplet_t
angel::triplet_t, 448type3EdgeElimVector
angel::edge_reroute_t, 270
uint_pair_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
INDEX 567
angel, 55UNDEFINED
angel, 56undefined_vertex
angel, 56unique_vector
angel, 160UNIT_EDGE
angel, 56unpack_graph
angel::c_graph_t, 246angel::line_graph_t, 333
unreadGMPI::buffer_t, 230
use_heuristicangel, 160
use_heuristic_debugangel, 161
use_heuristic_noconstangel, 161
use_heuristic_traceangel, 162
vangel::accu_exp_graph_t, 212angel::c_graph_t, 242angel::line_graph_t, 329
VARIABLE_EDGEangel, 56
vcangel::dec_greater, 255
vd_tangel::predecessor_t, 406angel::successor_t, 434
vertex_degree_propertyangel, 55
vertex_downsetangel, 163
vertex_eliminatableangel, 163
vertex_eliminationangel, 163–165
vertex_elimination_history_tangel, 55
vertex_name_degree_propertyangel, 55
vertex_set_tangel, 55
vertex_tangel::c_graph_t, 238
vertex_typeangel, 165angel::c_graph_t, 243angel::line_graph_t, 331
vertex_type_tangel, 56
vertex_upsetangel, 165
vertex_visited_propertyangel, 55
vi_tangel::c_graph_t, 238angel::predecessor_t, 406angel::successor_t, 434
vis_display_output_tangel::vis_display_output_t, 451
vliangel::oplrv_op_t, 404
vloangel::oplrv_op_t, 404
vniangel::oplrv_op_t, 404
vnoangel::oplrv_op_t, 404
wangel::lmmde_op_t, 345angel::lmmdv_op_t, 347
was_non_trivial_eliminationangel, 165, 166
weightangel::lmmd_edge_t, 340angel::lmmd_vertex_t, 343
what_reasonangel::base_exception, 222
which_indexangel, 167
which_mpi_tGMPI, 198, 199
writeGMPI::buffer_t, 230
write_edge_bool_op_t
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen
568 INDEX
angel::write_edge_bool_op_t, 453write_edge_eliad_op_t
angel::write_edge_eliad_op_t, 455write_edge_name_op_t
angel::write_edge_name_op_t, 457write_edge_op_t
angel::write_edge_op_t, 459write_edge_property
angel, 167write_face
angel, 167, 168write_face_number_op_t
angel::write_face_number_op_t, 461write_face_op_t
angel::write_face_op_t, 463write_face_vector
angel, 168write_graph
angel, 169–171angel::no_output_t, 399angel::stream_output_t, 429angel::vis_display_output_t, 452
write_graph_eliadangel, 172, 173
write_graph_xaif_boosterangel, 173
write_iteratorsangel, 174
write_posGMPI::buffer_t, 233
write_refillDependencesangel, 174
write_vectorangel, 174, 175
write_vertex_op_tangel::write_vertex_op_t, 465
write_vertex_propertyangel, 176
writeVertexAndEdgeTypesangel, 176
Xangel::accu_exp_graph_t, 213angel::c_graph_t, 246angel::line_graph_t, 333
x
angel::accu_exp_graph_t, 212angel::c_graph_t, 241, 242angel::line_graph_t, 329
xaif_edge_prangel, 176
xaifBoosterCrossCountryInterface, 201compute_elimination_sequence, 202compute_elimination_sequence_-
lsa_face, 202compute_elimination_sequence_-
lsa_vertex, 203compute_partial_elimination_-
sequence, 204compute_partial_elimination_-
sequence_random, 205compute_partial_transformation_-
sequence, 206compute_partial_transformation_-
sequence_random, 207computeEliminationSequenceRan-
dom, 209
yangel::accu_exp_graph_t, 212angel::c_graph_t, 242angel::line_graph_t, 329
zangel::accu_exp_graph_t, 213angel::c_graph_t, 242angel::line_graph_t, 330
Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen