Apply bug fix and performance enhancement patch from Thomas Rehn.

This commit is contained in:
Jerry James 2012-03-16 11:08:29 -06:00
commit 6fa0d0bb45
2 changed files with 81 additions and 1 deletions

74
bliss-rehn.patch Normal file
View file

@ -0,0 +1,74 @@
--- ./graph.cc.orig 2012-03-16 10:55:45.139266642 -0600
+++ ./graph.cc 2012-03-16 10:57:42.429090440 -0600
@@ -597,16 +597,6 @@ public:
};
-
-
-typedef struct {
- unsigned int splitting_element;
- unsigned int certificate_index;
- unsigned int subcertificate_length;
- UintSeqHash eqref_hash;
-} PathInfo;
-
-
bool
AbstractGraph::search(const bool canonical, Stats& stats)
{
@@ -753,7 +743,6 @@ AbstractGraph::search(const bool canonic
initialize_certificate();
std::vector<TreeNode> search_stack;
- std::vector<PathInfo> first_path_info;
std::vector<PathInfo> best_path_info;
search_stack.clear();
@@ -5466,7 +5455,7 @@ Graph::nucr_find_first_component(const u
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 2012-03-16 10:55:45.153266622 -0600
+++ ./graph.hh 2012-03-16 11:00:26.851843429 -0600
@@ -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;
/**
@@ -355,7 +358,7 @@ protected:
*/
unsigned int cr_component_elements;
-
+ std::vector<PathInfo> first_path_info;
public:
@@ -508,6 +511,10 @@ public:
opt_use_long_prune = active;
}
+ /**
+ * Get an information vector about the first path.
+ */
+ std::vector<PathInfo> get_first_path_info() { return first_path_info; }
};

View file

@ -1,6 +1,6 @@
Name: bliss
Version: 0.72
Release: 3%{?dist}
Release: 4%{?dist}
Summary: Compute automorphism groups and canonical labelings of graphs
Group: Applications/Engineering
@ -12,6 +12,9 @@ Source0: http://www.tcs.hut.fi/Software/bliss/%{name}-%{version}.zip
Source1: bliss.1
# Sent upstream 28 Oct 2011. Don't call exit() in library code.
Patch0: bliss-error.patch
# Patch from Thomas Rehn, also sent upstream. Fix one bug and add one
# performance enhancement.
Patch1: bliss-rehn.patch
BuildRequires: doxygen
BuildRequires: gmp-devel
@ -100,6 +103,9 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1
%{_libdir}/libbliss.so.*
%changelog
* Fri Mar 16 2012 Jerry James <loganjerry@gmail.com> - 0.72-4
- Apply bug fix and performance enhancement patch from Thomas Rehn
* Fri Jan 6 2012 Jerry James <loganjerry@gmail.com> - 0.72-3
- Rebuild for GCC 4.7.