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);
|