From 38659c5eedc02425807aa5f1207e4c6ef0788f10 Mon Sep 17 00:00:00 2001
From: Ian Bell <ian.bell@nist.gov>
Date: Wed, 22 Mar 2023 13:09:11 -0400
Subject: [PATCH] Force an eval in quad function

---
 include/teqp/math/quadrature.hpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/teqp/math/quadrature.hpp b/include/teqp/math/quadrature.hpp
index 685dd76..3b0433c 100644
--- a/include/teqp/math/quadrature.hpp
+++ b/include/teqp/math/quadrature.hpp
@@ -59,6 +59,7 @@ inline auto quad(const std::function<T(double)>& F, const double& a, const doubl
         double arg = (b-a)/2.0*x[i] + (a+b)/2.0;
         summer += w[i]*F(arg);
     }
-    return (b-a)/2.0*summer;
+    T retval = (b-a)/2.0*summer; // Forces a flattening if T is an autodiff type
+    return retval;
 }
 }
-- 
GitLab