From 252ec0b7c810d1732d53e0a1bd490981903c3f21 Mon Sep 17 00:00:00 2001 From: "E. Madison Bray" Date: Mon, 10 Feb 2020 19:21:18 +0100 Subject: [PATCH] declare these template specializations to ensure they will be used in modules that include polynomial.hpp we may be able to achieve better performance, however, if these are defined inline --- include/polynomial.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/polynomial.hpp b/include/polynomial.hpp index fa0ca90..3aae66f 100644 --- a/include/polynomial.hpp +++ b/include/polynomial.hpp @@ -232,6 +232,10 @@ T Polynomial::operator() (const T &x, const T &y) const { return this->evalPolClassic (x,y); } +// Defined in lib/polynomial.cpp +template <> IComplex Polynomial::operator() (const IComplex &x, const IComplex &y) const; +template <> MPIComplex Polynomial::operator () (const MPIComplex &x, const MPIComplex &y) const; + template T Polynomial::diffX (const T &x, const T &y) const { // coef[(i*(i+1))/2 + j] is coeficient of monomial of degree 'i', @@ -313,6 +317,10 @@ T Polynomial::diffY (const T &x, const T &y) const { return this->evalPolYClassic (x,y); } +// Defined in lib/polynomial.cpp +template <> IComplex Polynomial::diffY (const IComplex &x, const IComplex &y) const; +template <> MPIComplex Polynomial::diffY (const MPIComplex &x, const MPIComplex &y) const; + template T Polynomial::diffXX (const T &x, const T &y) const {