From 024e3e46493fc8cf4f52a7b41c2207f8e7384232 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pauli.t.virtanen@jyu.fi>
Date: Tue, 16 Aug 2022 17:47:05 +0300
Subject: [PATCH] Same code for complex/AD pinning

---
 src/action.hpp | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/action.hpp b/src/action.hpp
index 88b3b1c..1aa61b6 100644
--- a/src/action.hpp
+++ b/src/action.hpp
@@ -260,18 +260,14 @@ inline Scalar S(const array::ArrayView<const Mask, Shape0>& mask,
             if (mask(i,j) == Mask::VACUUM) {
                 continue;
             } else if (mask(i,j) == Mask::TERMINAL) {
-                if constexpr (std::is_same_v<Scalar, Complex>) {
-                    Qmat.part(i,j).matrix() = get_Q_matrix(Q.part(i,j));
-                } else {
-                    auto Qv = get_Q_matrix(Q.part(i,j));
-                    for (size_t p = 0; p < 4; ++p) {
-                        for (size_t q = 0; q < 4; ++q) {
-                            auto w = flat_value(Qv(p,q));
-                            Qmat(i,j,p,q) = w;
-
-                            /* Pin value to the flat value */
-                            S = S + (Qv(p,q) - w) * (Qv(p,q) - w);
-                        }
+                auto Qv = get_Q_matrix(Q.part(i,j));
+                for (size_t p = 0; p < 4; ++p) {
+                    for (size_t q = 0; q < 4; ++q) {
+                        auto w = flat_value(Qv(p,q));
+                        Qmat(i,j,p,q) = w;
+
+                        /* Pin value to the flat value */
+                        S = S + (Qv(p,q) - w) * (Qv(p,q) - w);
                     }
                 }
             } else {
-- 
GitLab