From dc50d2e97e108011231fe82d5939d19b79408911 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 11 Aug 2019 21:38:40 +0200 Subject: [PATCH] Fix a bunch of compiler warnings, and two actual bugs Bugs: - Matrix::VxM was not returning anything - handling of automorphisms had a misplaces parenthesis --- source/libnormaliz/cone.cpp | 6 ++++-- source/libnormaliz/input_type.cpp | 1 + source/libnormaliz/integer.cpp | 7 +++---- source/libnormaliz/matrix.cpp | 1 + source/libnormaliz/output.cpp | 6 +++--- source/libnormaliz/vector_operations.cpp | 3 --- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/libnormaliz/cone.cpp b/source/libnormaliz/cone.cpp index 0287223e..ada7cd1a 100644 --- a/source/libnormaliz/cone.cpp +++ b/source/libnormaliz/cone.cpp @@ -6970,8 +6970,10 @@ void Cone::make_face_lattice(const ConeProperties& ToCompute){ if(skip_remaining) continue; - for(; kkk > Fpos; ++Fpos, ++F); - for(; kkk < Fpos; --Fpos, --F) ; + for(; kkk > Fpos; ++Fpos, ++F) + ; + for(; kkk < Fpos; --Fpos, --F) + ; if(verbose && nr_faces>=RepBound){ #pragma omp critical(VERBOSE) diff --git a/source/libnormaliz/input_type.cpp b/source/libnormaliz/input_type.cpp index 58e8ae73..816311a3 100644 --- a/source/libnormaliz/input_type.cpp +++ b/source/libnormaliz/input_type.cpp @@ -210,6 +210,7 @@ std::string numpar_to_string(const NumParam::Param& numpar){ return "autom_codim_bound_vectors"; if(numpar==NumParam::not_a_num_param) return "not_a_num_param"; + assert(false); } bool isNumParam(NumParam::Param& numpar, const std::string& type_string){ diff --git a/source/libnormaliz/integer.cpp b/source/libnormaliz/integer.cpp index 1f3a2f9f..886de3b0 100644 --- a/source/libnormaliz/integer.cpp +++ b/source/libnormaliz/integer.cpp @@ -211,8 +211,8 @@ nmz_float gcd(const nmz_float& a, const nmz_float& b){ return 1.0; } -template<> -mpz_class gcd(const mpz_class& a, const mpz_class& b) { +template <> +mpz_class gcd(const mpz_class& a, const mpz_class& b) { mpz_class g; mpz_gcd (g.get_mpz_t(), a.get_mpz_t(), b.get_mpz_t()); return g; @@ -229,8 +229,7 @@ renf_elem_class gcd(const renf_elem_class& a, const renf_elem_class& b){ template long gcd(const long& a, const long& b); -template nmz_float gcd(const nmz_float& a, const nmz_float& b); -template long long gcd(const long long& a, const long long& b); +template long long gcd(const long long& a, const long long& b); //--------------------------------------------------------------------------- diff --git a/source/libnormaliz/matrix.cpp b/source/libnormaliz/matrix.cpp index b0a57556..fa6d023b 100644 --- a/source/libnormaliz/matrix.cpp +++ b/source/libnormaliz/matrix.cpp @@ -1307,6 +1307,7 @@ vector Matrix::VxM(const vector& v) const{ w[i] += v[j]*elem[j][i]; } } + return w; } //--------------------------------------------------------------------------- diff --git a/source/libnormaliz/output.cpp b/source/libnormaliz/output.cpp index 4bf767d3..4eee5591 100644 --- a/source/libnormaliz/output.cpp +++ b/source/libnormaliz/output.cpp @@ -1262,11 +1262,11 @@ void Output::write_files() const { out << endl; } - if (aut && (Result->isComputed(ConeProperty::Automorphisms) - || Result->isComputed(ConeProperty::AmbientAutomorphisms)) + if (aut && (Result->isComputed(ConeProperty::Automorphisms) + || Result->isComputed(ConeProperty::AmbientAutomorphisms) || Result->isComputed(ConeProperty::CombinatorialAutomorphisms) || Result->isComputed(ConeProperty::RationalAutomorphisms) - || Result->isComputed(ConeProperty::EuclideanAutomorphisms) + || Result->isComputed(ConeProperty::EuclideanAutomorphisms)) ) { write_aut(); out << Result->getAutomorphismGroup().getQualitiesString() << "automorphism group has order " << Result->getAutomorphismGroup().getOrder() diff --git a/source/libnormaliz/vector_operations.cpp b/source/libnormaliz/vector_operations.cpp index 4f13963f..fa8e1002 100644 --- a/source/libnormaliz/vector_operations.cpp +++ b/source/libnormaliz/vector_operations.cpp @@ -671,7 +671,6 @@ mpq_class v_standardize(vector& v, const vector& LF){ template void v_scalar_division(vector& v, const long scalar); template void v_scalar_division(vector& v, const long long scalar); template void v_scalar_division(vector& v, const mpz_class scalar); -template void v_scalar_division(vector& v, const nmz_float scalar); template long v_make_prime(vector&); template long long v_make_prime(vector&); @@ -680,8 +679,6 @@ template mpz_class v_make_prime(vector&); template long v_scalar_product(const vector& a,const vector& b); template long long v_scalar_product(const vector& a,const vector& b); template mpz_class v_scalar_product(const vector& a,const vector& b); -template mpq_class v_scalar_product(const vector& a,const vector& b); -template nmz_float v_scalar_product(const vector& a,const vector& b); vector bitset_to_bool(const boost::dynamic_bitset<>& val){ vector ret(val.size()); -- 2.22.1