summaryrefslogtreecommitdiff
path: root/lib/include/wolff/cluster.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/wolff/cluster.hpp')
-rw-r--r--lib/include/wolff/cluster.hpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/include/wolff/cluster.hpp b/lib/include/wolff/cluster.hpp
index b66f367..3912446 100644
--- a/lib/include/wolff/cluster.hpp
+++ b/lib/include/wolff/cluster.hpp
@@ -68,9 +68,8 @@ void system<R_t, X_t>::flip_cluster(v_t i0, const R_t& r,
dE = B(s0s_old) - B(s0s_new);
#endif
-#ifdef WOLFF_FINITE_STATES
- p = finite_states_Bp[finite_states_enum(s0s_old)]
- [finite_states_enum(s0s_new)];
+#ifdef WOLFF_USE_FINITE_STATES
+ p = Bp[s0s_old.enumerate()][s0s_new.enumerate()];
#endif
// run measurement hooks for encountering a ghost bond
@@ -84,17 +83,15 @@ void system<R_t, X_t>::flip_cluster(v_t i0, const R_t& r,
dE = Z(s[i], s[j]) - Z(si_new, s[j]);
#endif
-#ifdef WOLFF_FINITE_STATES
- p = finite_states_Zp[finite_states_enum(s[i])]
- [finite_states_enum(si_new)]
- [finite_states_enum(s[j])];
+#ifdef WOLFF_USE_FINITE_STATES
+ p = Zp[s[i].enumerate()][si_new.enumerate()][s[j].enumerate()];
#endif
// run measurement hooks for encountering a plain bond
A.plain_bond_visited(*this, i, si_new, j, dE);
}
-#ifndef FINITE_STATES
+#ifndef WOLFF_USE_FINITE_STATES
p = 1.0 - exp(-dE / T);
#endif