From 4de6089b4e05ad820450072b13ebc4581885f799 Mon Sep 17 00:00:00 2001 From: Ian Bell <ian.bell@nist.gov> Date: Tue, 27 Apr 2021 11:08:57 -0400 Subject: [PATCH] Clang on linux is happy again --- include/teqp/derivs.hpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/include/teqp/derivs.hpp b/include/teqp/derivs.hpp index 183ab68..a5ca0bb 100644 --- a/include/teqp/derivs.hpp +++ b/include/teqp/derivs.hpp @@ -79,8 +79,9 @@ struct TDXDerivatives { return (1.0/T)*der; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar10"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar10"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar10"); } template<ADBackends be = ADBackends::autodiff> @@ -104,8 +105,9 @@ struct TDXDerivatives { return rho*der; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar01"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar01"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar01"); } template<ADBackends be = ADBackends::autodiff> @@ -117,8 +119,9 @@ struct TDXDerivatives { return rho*rho*ders[2]; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar02"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar02"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar02"); } template<int Nderiv, ADBackends be = ADBackends::autodiff> @@ -134,8 +137,9 @@ struct TDXDerivatives { return o; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar0n"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar0n"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar0n"); } template<ADBackends be = ADBackends::autodiff> @@ -147,8 +151,9 @@ struct TDXDerivatives { return (1 / T) * (1 / T) * ders[2]; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar20"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar20"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar20"); } template<ADBackends be = ADBackends::autodiff> @@ -173,8 +178,9 @@ struct TDXDerivatives { return (1.0 / T) * rho * u11; } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar11"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar11"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar11"); } template<ADBackends be = ADBackends::autodiff> @@ -199,8 +205,9 @@ struct TDXDerivatives { return (1.0 / T) * rho * rho * ders.back(); } else { - static_assert(false, "algorithmic differentiation backend is invalid in get_Ar12"); + //static_assert(false, "algorithmic differentiation backend is invalid in get_Ar12"); } + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Ar12"); } template<ADBackends be = ADBackends::autodiff> @@ -297,8 +304,10 @@ struct VirialDerivatives { } } else{ - static_assert(false, "algorithmic differentiation backend is invalid"); + //static_assert(false, "algorithmic differentiation backend is invalid"); + throw std::invalid_argument("algorithmic differentiation backend is invalid in get_Bnvir"); } + std::map<int, Scalar> o; for (int n = 2; n < Nderiv+1; ++n) { o[n] = dnalphardrhon[n-1]; -- GitLab