syn keyword Type forall_nodes
syn keyword Type forall_ghost_nodes
syn keyword Type forall_local_nodes
syn keyword Type forall_global_nodes
syn keyword Type forall_edges
syn keyword Type forall_local_edges
syn keyword Type forall_boundary_nodes
syn keyword Type forall_blocks
syn keyword Type forall_out_edges
syn keyword Type forall_out_edges_starting_at
syn keyword Type forall_res_out_edges
syn keyword Type forall_in_out_edges
syn keyword Type endfor 
syn keyword Type NodeID 
syn keyword Type PEID 
syn keyword Type boundary_starting_nodes 
syn keyword Type PartitionWeightStruct 
syn keyword Type PathID 
syn keyword Type EdgeID 
syn keyword Type PartitionID 
syn keyword Type simple_move 
syn keyword Type source_target_pair 
syn keyword Type NodeWeight 
syn keyword Type EdgeWeight 
syn keyword Type FlowType 
syn keyword Type Gain 
syn keyword Type pairwise_local_search 
syn keyword Type Count 
syn keyword Type EdgeRatingType
syn keyword Type EdgeWeightMeta
syn keyword Type RefineQueueData 
syn keyword Type Matching
syn keyword Type CoarseMapping
syn keyword Type NodePermutationMap 
syn keyword Type NodeID 
syn keyword Type CornerID 
syn keyword Type Corner 
syn keyword Type edge 
syn keyword Type idxtype 
syn keyword Type block_pairs 
syn keyword Type boundary_pair 
syn keyword Type ensemble_pair 
syn keyword Type hashed_edge 
syn keyword Type edge_movements 
syn keyword Type idxtype 
syn keyword Type QuotientGraphEdges 
 

syn keyword boolean build_augmented_quotient_graph
syn keyword boolean compute_vertex_movements 
syn keyword boolean construct_local_searches_on_qgraph_edge 
syn keyword boolean get_max_vertex_weight_difference 
syn keyword boolean compute_vertex_movements_rebalance 

syn keyword boolean getUnderlyingQuotientGraph 
syn keyword boolean prepare 
syn keyword boolean getBlockWeight 
syn keyword boolean start_construction 
syn keyword boolean set_range 
syn keyword boolean finish_construction 
syn keyword boolean setGraphReference 
syn keyword boolean find_shortest_path 
syn keyword boolean new_node
syn keyword boolean new_edge 
syn keyword boolean perform_augmented_move 
syn keyword boolean exigetEdgeCutsts_vmovements_of_diff
syn keyword boolean find_negative_cycle
syn keyword boolean find_random_cycle 
syn keyword boolean find_zero_weight_cycle
syn keyword boolean build_ultra_model 
syn keyword boolean handle_ultra_model_conflicts 
syn keyword boolean push_back 
syn keyword boolean resize 
syn keyword boolean deleteMin 
syn keyword boolean decreaseKey
syn keyword boolean changeKey
syn keyword boolean getKey
syn keyword boolean increaseKey
syn keyword boolean front 
syn keyword boolean pop_front 
syn keyword boolean reserve 
syn keyword boolean get_associated_vertices
syn keyword boolean exists_vmovements_of_diff 
syn keyword boolean get_gain_of_vmovements
syn keyword boolean commit_pairwise_local_search 
syn keyword boolean check_conflict 
syn keyword boolean get_associated_blocks
syn keyword boolean local_search 
syn keyword boolean getDirectedBoundary 
syn keyword boolean rebalance_fall_back 
syn keyword boolean find 
syn keyword boolean Individuum 
syn keyword boolean build
syn keyword boolean perform_refinement 
syn keyword boolean Union 
syn keyword boolean perform_partitioning_recursive 
syn keyword boolean perform_recursive_partitioning 

syn keyword boolean perform_partitioning
syn keyword boolean Find 
syn keyword boolean begin 
syn keyword boolean end 
syn keyword boolean size 
syn keyword boolean m_aqg
syn keyword boolean m_size 
syn keyword boolean m_rank
syn keyword boolean deleteNode 
syn keyword boolean cleanup_eligible 
syn keyword boolean compute_vertex_movements_rebalance_ultra 
syn keyword boolean compute_vertex_movements_ultra_model 
syn keyword boolean directed_more_locallized_search_all_bnd 
syn keyword boolean directed_more_locallized_search 
syn keyword boolean more_locallized_search 
syn keyword boolean find_eligible_start_node 
syn keyword boolean maxValue 
syn keyword boolean maxElement
syn keyword boolean deleteMax 
syn keyword boolean move_node
syn keyword boolean perform_simple_move
syn keyword boolean push_statistics 
syn keyword boolean reset_statistics 
syn keyword boolean empty 
syn keyword boolean insert
syn keyword boolean search_should_stop 
syn keyword boolean getEdgeCut
syn keyword boolean int_ext_degree 


syn keyword Define augmented_Qgraph 
syn keyword Define G 
syn keyword Define m_G 
syn keyword Define augmented_Qgraph 
syn keyword Define augmented_Qgraph_fabric
syn keyword Define misc 
syn keyword Define color
syn keyword Define A 
syn keyword Define setPartitionIndex 
syn keyword Define setNodeWeight
syn keyword Define getPartitionIndex 
syn keyword Define getNodeWeight
syn keyword Define getNodeLabel
syn keyword Define setNodeLabel
syn keyword Define getTargetPE
syn keyword Define getGlobalID
syn keyword Define getCNode
syn keyword Define setCNode
syn keyword Define getEdgeWeight
syn keyword Define getEdgeCapacity
syn keyword Define getReverseEdge
syn keyword Define getEdgeFlow
syn keyword Define setEdgeFlow
syn keyword Define setEdgeWeight
syn keyword Define getEdgeTarget
syn keyword Define get_first_edge
syn keyword Define get_partition_count 
syn keyword Define set_partition_count 
syn keyword Define getSecondPartitionIndex 
syn keyword Define setSecondPartitionIndex 
syn keyword Define resizeSecondPartitionIndex
syn keyword Define getNodeDegree
syn keyword Define getNodeNumGhostNodes
syn keyword Define getWeightedNodeDegree
syn keyword Define getMaxDegree
syn keyword Define getEdgeRating
syn keyword Define setEdgeRating


syn keyword Define get_first_invalid_edge
syn keyword Define getPartitionIndex 
syn keyword Define number_of_nodes 
syn keyword Define number_of_local_nodes 
syn keyword Define number_of_global_nodes 
syn keyword Define greedy_random 
syn keyword Define greedy_neg_cycle
syn keyword Define problem_factory 
syn keyword Define number_of_edges
syn keyword Define number_of_local_edges
syn keyword Define number_of_global_edges
syn keyword Define basicGraph 
syn keyword Define graphType 
syn keyword Define staticGraph 
syn keyword Define basicNode 
syn keyword Define Node 
syn keyword Define rEdge  
syn keyword Define NodeData 
syn keyword Define AdditionalNonLocalNodeData 
syn keyword Define Edge 
syn keyword Define refinementNode 
syn keyword Define coarseningEdge 
syn keyword Define NodeSlot 
syn keyword Define EdgeSlot 
syn keyword Define basicEdge 

syn keyword Comment cout 
syn keyword Comment flush 
syn keyword Comment G_bar 
syn keyword Comment residualGraph 
syn keyword Comment shortest_path_problem 
syn keyword Comment Q 
syn keyword Comment m_Q 
syn keyword Comment Q_bar 
syn keyword Comment priority_queue 
syn keyword Comment ASSERT_EQ 
syn keyword Comment ASSERT_RANGE_EQ
syn keyword Comment ASSERT_LEQ 
syn keyword Comment ASSERT_GEQ 
syn keyword Comment ASSERT_NEQ 
syn keyword Comment ASSERT_TRUE 
syn keyword Comment PRINT 
syn keyword Comment std 
syn keyword Comment endl 
syn keyword Comment string 
syn keyword Comment vector 
syn keyword Comment unordered_map 
syn keyword Comment pair 
syn keyword Comment hash_ensemble
syn keyword Comment numeric_limits 
syn keyword Comment deque 
syn keyword Comment queue 
syn keyword Comment cur_queuqueuee 
syn keyword Comment queue_lhs
syn keyword Comment queue_rhs
syn keyword Comment stack 
syn keyword Comment exit 
syn keyword Comment single_kway_refinement_round 
syn keyword Comment cur_bnd_node 

" highlight our classes 
syn keyword Tag contraction 
syn keyword Tag path 
syn keyword Tag QueueType 
syn keyword Tag gpa_matching
syn keyword Tag path_set
syn keyword Tag multitry_kway_fm 
syn keyword Tag initial_partition_hybrid 
syn keyword Tag kway_simple_stop_rule 
syn keyword Tag kway_adaptive_stop_rule 
syn keyword Tag kway_graph_refinement_commons 
syn keyword Tag kway_graph_refinement_core
syn keyword Tag sparse_kway_graph_refinement 
syn keyword Tag RefinementQueueType 
syn keyword Tag matching 
syn keyword Tag addressable_pq 
syn keyword Tag maxNodeHeap 
syn keyword Tag my_addressable_pq 
syn keyword Tag bucket_pq 
syn keyword Tag double_addressable_pq 
syn keyword Tag most_balanced_minimum_cuts 
syn keyword Tag random_matching 
syn keyword Tag strongly_connected_components 
syn keyword Tag topological_sort 
syn keyword Tag union_find 
syn keyword Tag graph_access 
syn keyword Tag flow_graph 
syn keyword Tag push_relabel 
syn keyword Tag balance_configuration 
syn keyword Tag forall_nodes_parallel
syn keyword Tag dummy_operations 
syn keyword Tag ManyToMany 
syn keyword Tag classic_alltoall 
syn keyword Tag HyperCubeAllToAll 
syn keyword Tag highest_label_queue 
syn keyword Tag residual_graph 
syn keyword Tag node_ordering 
syn keyword Tag max_flow_min_cut 
syn keyword Tag parallel_block_down_propagation 
syn keyword Tag random_initial_partitioning 
syn keyword Tag balance_management 
syn keyword Tag balance_management_refinement
syn keyword Tag balance_management_coarsening
syn keyword Tag parallel_projection 
syn keyword Tag distributed_quality_metrics 
syn keyword Tag hashed_graph 
syn keyword Tag vectortype 
syn keyword Tag Compare 
syn keyword Tag Equal 
syn keyword Tag helpers 
syn keyword Tag generate_kronecker
syn keyword Tag generate_g500_edgelist
syn keyword Tag distributed_partitioner 
syn keyword Tag distributed_evolutionary_partitioning
syn keyword Tag parallel_contraction 
syn keyword Tag ghost_node_communication 
syn keyword Tag parallel_vector_io 
syn keyword Tag parallel_label_compress 
syn keyword Tag parallel_graph_access 
syn keyword Tag complete_graph_access 
syn keyword Tag priority_queue_interface 
syn keyword Tag queue_selection_diffusion  
syn keyword Tag queue_selection_topgain_diffusion  
syn keyword Tag initial_refinement 
syn keyword Tag bipartition 
syn keyword Tag initial_partition_bipartition 
syn keyword Tag mpi_tools 
syn keyword Tag edge_cut_flow_solver 
syn keyword Tag cut_flow_problem_solver 
syn keyword Tag graph_partition_assertions 
syn keyword Tag tabu_bucket_queue 
syn keyword Tag tabu_moves_queue 
syn keyword Tag construct_partition 
syn keyword Tag gal_combine
syn keyword Tag bipartite_matching_algorithm 
syn keyword Tag augmented_quotient_graph
syn keyword Tag augmented_quotient_graph_internal
syn keyword Tag sparsifier
syn keyword Tag advanced_models
syn keyword Tag connected_components 
syn keyword Tag partition_snapshooter 
syn keyword Tag matrix 
syn keyword Tag normal_matrix 
syn keyword Tag tabu_search 
syn keyword Tag task_crunsher 
syn keyword Tag walshaw_mh 
syn keyword Tag graph_coloring
syn keyword Tag parallel_refinement 
syn keyword Tag graph_communication 
syn keyword Tag buffoon 
syn keyword Tag exchanger 
syn keyword Tag population 
syn keyword Tag parallel_mh 
syn keyword Tag parallel_mh_async
syn keyword Tag diversifyer 
syn keyword Tag graph_extractor
syn keyword Tag lgs_solver 
syn keyword Tag squeez_edge_rating_function 
syn keyword Tag kaffpa_mh 
syn keyword Tag natural_cut_flow_solver 
syn keyword Tag natural_cut_detection 
syn keyword Tag . 
syn keyword Tag << 
syn keyword Tag grow_regions_by_squeezing 
syn keyword Tag graph_hierarchy
syn keyword Tag edge_ratings 
syn keyword Tag initial_partitioning 
syn keyword Tag initial_partitioning_algorithm
syn keyword Tag initial_partition_bubbling
syn keyword Tag uncoarsening 
syn keyword Tag two_way_refinement
syn keyword Tag two_way_flow_refinement
syn keyword Tag PartitionConfig 
syn keyword Tag cycle_search 
syn keyword Tag cycle_refinement 
syn keyword Tag ws_individuum 
syn keyword Tag simple_stop_rule 
syn keyword Tag multiple_k_stop_rule 
syn keyword Tag wcycle_partitioner 
syn keyword Tag coarsening_configurator 
syn keyword Tag mixed_refinement 
syn keyword Tag boundary_bfs 
syn keyword Tag randomequal_partition_accept_rule 
syn keyword Tag initial_partitioner 
syn keyword Tag initial_partition_scotch 
syn keyword Tag initial_partition_metis
syn keyword Tag timer 
syn keyword Tag heavy_edge_matching 
syn keyword Tag graph_partitioner 
syn keyword Tag connectifier 
syn keyword Tag coarsening 
syn keyword Tag random_functions 
syn keyword Tag two_way_fm
syn keyword Tag PartialBoundary 
syn keyword Tag complete_boundary  
syn keyword Tag refinement
syn keyword Tag quotient_graph_refinement
syn keyword Tag balancing_quotient_graph_scheduler 
syn keyword Tag kway_graph_refinement 
syn keyword Tag kway_stop_rule
syn keyword Tag vertex_moved_hashtable 
syn keyword Tag quality_metrics
syn keyword Tag graph_io 
syn keyword Tag parallel_graph_io 
syn keyword Tag configuration 
syn keyword Tag evaluation
syn keyword Tag refinement_pq 
syn keyword Tag refinement_priority_queue
syn keyword Tag double_precision_refinement_pq 
syn keyword Tag is_boundary_node_hashtable 
syn keyword Tag simple_quotient_graph_scheduler 
syn keyword Tag active_block_quotient_graph_scheduler 
syn keyword Tag queue_selection_strategy 
syn keyword Tag queue_selection_topgain 
syn keyword Tag sorted_heavy_edge_matching 
syn keyword Tag sorted_heavy_edge_matching_by_rating 
syn keyword Tag heavy_edge_matching_by_rating 
syn keyword Tag stop_rule 
syn keyword Tag corner_scheduler 
syn keyword Tag easy_stop_rule 
syn keyword Tag partition_accept_rule 
syn keyword Tag normal_partition_accept_rule 
syn keyword Tag quotient_graph_scheduling 
syn keyword Tag qgraph_edge_statistics
syn keyword Tag block_informations 
syn keyword Tag priority_quotient_graph_scheduler 
syn keyword Tag scheduling_priority_queue 
syn keyword Tag vertex_separator_algorithm 
syn keyword Tag vertex_separator_flow_solver
syn keyword Tag flow_solver
syn keyword Tag partition_weight_priority_queue 
syn keyword Tag partition_weight_priority_queue 

syn keyword Keyword node 
syn keyword Keyword cur_difference 
syn keyword Keyword search_to_use
syn keyword Keyword search_gain
syn keyword Keyword local_searches 
syn keyword Keyword gains 
syn keyword Keyword vertex_movements 
syn keyword Keyword block_movements 
syn keyword Keyword load_difference 
syn keyword Keyword search_num_moves


syn keyword Keyword block 
syn keyword Keyword lhs_block 
syn keyword Keyword cycle 
syn keyword Keyword pathorcycle 
syn keyword Keyword cycleorpath 
syn keyword Keyword advanced_modelling 
syn keyword Keyword m_advanced_modelling 
syn keyword Keyword augmented_fabric
syn keyword Keyword rhs_block 
syn keyword Keyword target_block 
syn keyword Keyword cycle_problem 
syn keyword Keyword scc_graph 
syn keyword Keyword INVALID_PARTITION 
syn keyword Keyword KWAY_INIT_STEPCORNERS 
syn keyword Keyword KWAY_INIT_COMPLETE
syn keyword Keyword gain 
syn keyword Keyword gain_lhs
syn keyword Keyword gain_rhs 
syn keyword Keyword max_gain 
syn keyword Keyword int_degree 
syn keyword Keyword ext_degree 
syn keyword Keyword from 
syn keyword Keyword from_boundary
syn keyword Keyword lhs_boundary
syn keyword Keyword rhs_boundary
syn keyword Keyword to_boundary 
syn keyword Keyword from_queue 
syn keyword Keyword to_queue
syn keyword Keyword to 
syn keyword Keyword target 
syn keyword Keyword local_target 
syn keyword Keyword globalID 
syn keyword Keyword peID 
syn keyword Keyword label_changed
syn keyword Keyword is_interface_node 
syn keyword Keyword is_local_node 
syn keyword Keyword firstEdge 
syn keyword Keyword label 
syn keyword Keyword weight 
syn keyword Keyword source 
syn keyword Keyword v 
syn keyword Keyword sink 
syn keyword Keyword part_weight_struct 
syn keyword Keyword source_path 
syn keyword Keyword target_path 
syn keyword Keyword pathset 
syn keyword Keyword matched_neighbor 
syn keyword Keyword UNDEFINED_EDGE 
syn keyword Keyword NOT_MOVED 
syn keyword Keyword writePartition 
syn keyword Keyword readPartition 
syn keyword Keyword writeGraphWeighted
syn keyword Keyword writeGraphWeightedSequentially
syn keyword Keyword writeGraphSequentially
syn keyword Keyword writeGraphParallelSimple
syn keyword Keyword writeGraphSequentiallyDGF
syn keyword Keyword writeGraph
syn keyword Keyword writeVector 
syn keyword Keyword writeVectorSequentially
syn keyword Keyword readVectorSequentially
syn keyword Keyword readVector 
syn keyword Keyword readCoordinates
syn keyword Keyword readGraphWeighted 
syn keyword Keyword readGraphWeightedDGF
syn keyword Keyword readGraphWeightedMETIS
syn keyword Keyword writeGraphParallelSimple 
syn keyword Keyword readGraphDoubleWeighted 
syn keyword Keyword printGraph 
syn keyword Keyword readGraphUnweighted 
syn keyword Keyword lhs_queue 
syn keyword Keyword rhs_queue 
syn keyword Keyword readGraphUnweighted 
syn keyword Keyword lhs 
syn keyword Keyword rhs 
syn keyword Keyword lhs_part_weight
syn keyword Keyword rhs_part_weight
syn keyword Keyword max 
syn keyword Keyword min 
syn keyword Keyword source_partition 
syn keyword Keyword target_partition 
syn keyword Keyword max_number_of_swaps 
syn keyword Keyword step_limit 
syn keyword Keyword Q 
syn keyword Keyword hG 
syn keyword Keyword W 

syn keyword Underlined local_degrees 
syn keyword Underlined m_local_degrees 
syn keyword Underlined cut
syn keyword Underlined best_cut 
syn keyword Underlined initial_cut 
syn keyword Underlined improvement 
syn keyword Underlined overall_improvement 
syn keyword Underlined number_of_swaps 
syn keyword Underlined commons 
syn keyword Underlined update_is_difficult 
syn keyword Underlined targets_partition 
syn keyword Underlined max_gainer 
syn keyword Underlined max_degree 
syn keyword Underlined second_partition 
syn keyword Underlined own_partition 
syn keyword Underlined e
syn keyword Underlined rev_e
syn keyword Underlined e_1
syn keyword Underlined e_2
syn keyword Underlined e_bar
syn keyword Underlined config
syn keyword Underlined partition_config 
syn keyword Underlined boundary 
syn keyword Underlined quotient_graph_edges 
syn keyword Underlined m_quotient_graph_edges 
syn keyword Underlined scheduler 
syn keyword Underlined node_queue 
syn keyword Underlined deepth 
syn keyword Underlined accumulated_weight 
