File: regina.patch

package info (click to toggle)
regina-normal 7.4.1-1.1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 154,244 kB
  • sloc: cpp: 295,026; xml: 9,992; sh: 1,344; python: 1,225; perl: 616; ansic: 138; makefile: 26
file content (162 lines) | stat: -rw-r--r-- 6,246 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
diff --git a/engine/libnormaliz/nmz_config.h b/engine/libnormaliz/nmz_config.h
index 9f86902df..ac81876b3 100644
--- a/engine/libnormaliz/nmz_config.h
+++ b/engine/libnormaliz/nmz_config.h
@@ -10,11 +10,11 @@
 #undef NMZ_FLINT
 #undef NMZ_COCOA
 
-#define ENFNORMALIZ
-#define NMZ_HASHLIBRARY
-#define NMZ_NAUTY
-#define NMZ_NAUTYNAUTY
-#define NMZ_NAUTY_TLS
-#define NMZ_FLINT
-#define NMZ_COCOA
-#define NORMALIZ_USE_DLL
+// #define ENFNORMALIZ
+// #define NMZ_HASHLIBRARY
+// #define NMZ_NAUTY
+// #define NMZ_NAUTYNAUTY
+// #define NMZ_NAUTY_TLS
+// #define NMZ_FLINT
+// #define NMZ_COCOA
+// #define NORMALIZ_USE_DLL
diff --git a/engine/libnormaliz/collection.h b/engine/libnormaliz/collection.h
index 81dfe2ce7..e4a6ee651 100644
--- a/engine/libnormaliz/collection.h
+++ b/engine/libnormaliz/collection.h
@@ -62,7 +62,7 @@ class MiniCone {
 
     void print() const;
 
-    MiniCone<Integer>(const vector<key_t> GKeys, const Integer& mult, ConeCollection<Integer>& Coll);
+    MiniCone(const vector<key_t> GKeys, const Integer& mult, ConeCollection<Integer>& Coll);
 };
 
 template <typename Integer>
diff --git a/engine/libnormaliz/binomial.cpp b/engine/libnormaliz/binomial.cpp
index b9805e210..c99297ab9 100644
--- a/engine/libnormaliz/binomial.cpp
+++ b/engine/libnormaliz/binomial.cpp
@@ -217,14 +217,6 @@ void binomial::clear() {
 //     return std::accumulate(neg_vec.begin(), neg_vec.end(), 0);
 // }
 
-bool binomial::operator ==(const exponent_vec& rhs) const {
-    // for (size_t i = 0; i < size(); ++i)
-    //     if ((*this)[i] != rhs[i])
-    //         return false;
-    // return true;
-    return (static_cast<exponent_vec>(*this) == rhs);
-}
-
 binomial binomial::operator -(const binomial& rhs) const {
     assert(size() == rhs.size());
     binomial w(size());
diff --git a/engine/libnormaliz/binomial.h b/engine/libnormaliz/binomial.h
index 64d651e33..8138c0e5a 100644
--- a/engine/libnormaliz/binomial.h
+++ b/engine/libnormaliz/binomial.h
@@ -132,7 +132,6 @@ public:
     void operator -=(const binomial& rhs);
     void operator *=(const exponent_t rhs); // scalar multiplication
 
-    bool operator ==(const exponent_vec& rhs) const;
     bool operator |(const exponent_vec& rhs) const;
 
     // General member functions:
diff --git a/engine/libnormaliz/lattice_ideal.cpp b/engine/libnormaliz/lattice_ideal.cpp
index 8446bc979..ee11f1f55 100644
--- a/engine/libnormaliz/lattice_ideal.cpp
+++ b/engine/libnormaliz/lattice_ideal.cpp
@@ -102,7 +102,19 @@ MarkovProjectAndLift::MarkovProjectAndLift(Matrix<Integer>& LatticeIdeal, const
     Weights.append(vector<Integer> (LItranspose.nr_of_columns(),1));
     vector<bool> absolute(1,1);
 
+    // GCC 12 and 13 give the following warning when initialising StartPerm as
+    // a vector of bools:
+    //   warning: 'void* __builtin_memmove(void*, const void*, long unsigned
+    //   int)' writing between 9 and <very large number> bytes into a region
+    //   of size 8 overflows the destination [-Wstringop-overflow=]
+    #if defined(__GNUC__) && __GNUC__ >= 12 && __GNUC__ <= 13 && !defined(__clang__)
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Wstringop-overflow"
+    #endif
     StartPerm = LItranspose.perm_by_weights(Weights, absolute);
+    #if defined(__GNUC__) && __GNUC__ >= 12 && __GNUC__ <= 13 && !defined(__clang__)
+    #pragma GCC diagnostic pop
+    #endif
     LItranspose.order_rows_by_perm(StartPerm);
     if(verbose){
         verboseOutput() << "---------------------------------------------------" << endl;
diff --git a/engine/libnormaliz/vector_operations.h b/engine/libnormaliz/vector_operations.h
index 1f436109c..ed67a9292 100644
--- a/engine/libnormaliz/vector_operations.h
+++ b/engine/libnormaliz/vector_operations.h
@@ -1447,6 +1447,15 @@ void v_cyclic_shift_right( T& vec, size_t col){
     vec[0] = dummy;
 }
 
+// GCC 11+ gives the following warning when setting vec[i] = vec[i+1]:
+//   warning: 'void* __builtin_memmove(void*, const void*, long unsigned int)'
+//   reading <very large number> or more bytes from a region of size
+//   <very large number minus two> [-Wstringop-overread]
+// Here T = std::vector<short unsigned int>.
+#if defined(__GNUC__) && (__GNUC__ >= 11) && !defined(__clang__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstringop-overread"
+#endif
 template <typename T>
 void v_cyclic_shift_left( T& vec, size_t col){
     if(vec.size() == 0)
@@ -1457,6 +1466,9 @@ void v_cyclic_shift_left( T& vec, size_t col){
         vec[i] = vec[i+1];
     vec[col] = dummy;
 }
+#if defined(__GNUC__) && (__GNUC__ >= 11) && !defined(__clang__)
+#pragma GCC diagnostic pop
+#endif
 
 template <typename T>
 T v_permute_coordinates(const T& vec, const vector<key_t>& perm){
diff --git a/engine/libnormaliz/collect_lat.cpp b/engine/libnormaliz/collect_lat.cpp
index 28cb6e008..4879810be 100644
--- a/engine/libnormaliz/collect_lat.cpp
+++ b/engine/libnormaliz/collect_lat.cpp
@@ -386,6 +386,7 @@ string expand_project(const string& project){
     return result;
 }
 
+#if 0
 void collect_lat(const string& project, const long given_nr_subsplits) {
 
     string name;
@@ -627,6 +628,6 @@ void collect_lat(const string& project, const long given_nr_subsplits) {
     }
     new_split_data.write_data();
 }
-
+#endif
 
 }  // namespace libnormaliz
diff --git a/engine/libnormaliz/full_cone.cpp b/engine/libnormaliz/full_cone.cpp
index 074c78768..ba8368ceb 100644
--- a/engine/libnormaliz/full_cone.cpp
+++ b/engine/libnormaliz/full_cone.cpp
@@ -3693,6 +3693,7 @@ void Full_Cone<Integer>::compute_multiplicity_or_integral_by_signed_dec() {
 
     MeasureTime(verbose, "Generic");
 
+#if 0 // regina does not use distributed computation
     if (block_size_hollow_tri > 0) {
         string file_name = project_name + ".basic.data";
         ofstream out(file_name.c_str());
@@ -3775,6 +3776,7 @@ void Full_Cone<Integer>::compute_multiplicity_or_integral_by_signed_dec() {
 
         throw InterruptException("");
     }
+#endif // regina does not use distributed computation
 
     if (do_integral_by_signed_dec || do_virtual_multiplicity_by_signed_dec) {
         SignedDec<mpz_class> SDInt(Triangulation_ind, Generators_mpz, GradingOnPrimal_mpz, omp_start_level);