--- graph.cc.orig 2016-08-02 23:48:05.000000000 -0600 +++ graph.cc 2020-11-18 10:23:58.791980824 -0700 @@ -608,16 +608,6 @@ public: }; - - -typedef struct { - unsigned int splitting_element; - unsigned int certificate_index; - unsigned int subcertificate_length; - UintSeqHash eqref_hash; -} PathInfo; - - void AbstractGraph::search(const bool canonical, Stats& stats) { @@ -745,7 +735,6 @@ AbstractGraph::search(const bool canonic initialize_certificate(); std::vector search_stack; - std::vector first_path_info; std::vector best_path_info; search_stack.clear(); @@ -3711,7 +3700,7 @@ Digraph::nucr_find_first_component(const component.clear(); component_elements = 0; sh_return = 0; - unsigned int sh_first = 0; + unsigned int sh_first = 1 << 31; unsigned int sh_size = 0; unsigned int sh_nuconn = 0; --- graph.hh.orig 2016-08-02 23:48:05.000000000 -0600 +++ graph.hh 2020-11-18 10:22:45.358042181 -0700 @@ -109,9 +109,12 @@ public: unsigned long int get_max_level() const {return max_level;} }; - - - +typedef struct { + unsigned int splitting_element; + unsigned int certificate_index; + unsigned int subcertificate_length; + UintSeqHash eqref_hash; +} PathInfo; /** @@ -516,7 +519,7 @@ protected: */ unsigned int cr_component_elements; - + std::vector first_path_info; }; @@ -748,6 +751,10 @@ public: void set_splitting_heuristic(const SplittingHeuristic shs) {sh = shs; } + /** + * Get an information vector about the first path. + */ + std::vector get_first_path_info() { return first_path_info; } };