vpr/src/device/rr_graph_obj.cpp
/* This function should be used when nodes, edges, switches and segments have been used after 
 * We will build the fast_lookup, partition edges and check 
 * This function run fundamental and optional checks on internal data 
 * Errors are thrown if fundamental checking fails
 * Warnings are thrown if optional checking fails
 */
This function should be used when nodes, edges, switches and segments have been used after
We will build the fast_lookup, partition edges and check
This function run fundamental and optional checks on internal data
Errors are thrown if fundamental checking fails
Warnings are thrown if optional checking fails
This function should be used when nodes edges switches and segments have been used after We will build the fast_lookup partition edges and check This function run fundamental and optional checks on internal data Errors are thrown if fundamental checking fails Warnings are thrown if optional checking fails
bool RRGraph::validate() const {
    size_t num_err = 0;
    initialize_fast_node_lookup();
    if (false == validate_sizes()) {
        VTR_LOG_WARN("Fail in validating node- and edge-related vector sizes!\n");
        num_err++;
    }
    if (false == validate_nodes_edges()) {
        VTR_LOG_WARN("Fail in validating edges connected to each node!\n");
        num_err++;
    }
    if (false == validate_node_segments()) {
        VTR_LOG_WARN("Fail in validating segment IDs of nodes !\n");
        num_err++;
    }
    if (false == validate_edge_switches()) {
        VTR_LOG_WARN("Fail in validating switch IDs of edges !\n");
        num_err++;
    }
    if (0 < num_err) {
        VTR_LOG_ERROR("Routing Resource graph is not valid due to %d fatal errors !\n",
                      num_err);
    }
    return (0 == num_err);
}
bool RRGraph :: validate ( ) const { size_t num_err = 0 ; initialize_fast_node_lookup ( ) ; if ( false == validate_sizes ( ) ) { VTR_LOG_WARN ( " \n " ) ; num_err ++ ; } if ( false == validate_nodes_edges ( ) ) { VTR_LOG_WARN ( " \n " ) ; num_err ++ ; } if ( false == validate_node_segments ( ) ) { VTR_LOG_WARN ( " \n " ) ; num_err ++ ; } if ( false == validate_edge_switches ( ) ) { VTR_LOG_WARN ( " \n " ) ; num_err ++ ; } if ( 0 < num_err ) { VTR_LOG_ERROR ( " \n " , num_err ) ; } return ( 0 == num_err ) ; }
This function should be used when nodes, edges, switches and segments have been used after
 We will build the fast_lookup, partition edges and check
 This function run fundamental and optional checks on internal data
 Errors are thrown if fundamental checking fails
 Warnings are thrown if optional checking fails
This function should be used when nodes edges switches and segments have been used after We will build the fast_lookup partition edges and check This function run fundamental and optional checks on internal data Errors are thrown if fundamental checking fails Warnings are thrown if optional checking fails
/* Validate the sizes of nodes and node-related vectors 
     * Validate the sizes of edges and edge-related vectors 
     */ /* Fundamental check */ /* Error out if there is any fatal errors found */