summaryrefslogtreecommitdiff
path: root/lib/include/wolff/models/ising.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/wolff/models/ising.hpp')
-rw-r--r--lib/include/wolff/models/ising.hpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/lib/include/wolff/models/ising.hpp b/lib/include/wolff/models/ising.hpp
deleted file mode 100644
index d2f6f91..0000000
--- a/lib/include/wolff/models/ising.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-
-#ifndef WOLFF_MODELS_ISING_H
-#define WOLFF_MODELS_ISING_H
-
-#define WOLFF_FINITE_STATES_N 2
-
-#include "../system.hpp"
-
-namespace wolff {
-
-#include "../types.h"
-
-class ising_t {
- public:
- bool x;
-
- ising_t() : x(false) {}
-
- ising_t(bool x) : x(x) {}
- ising_t(q_t x) : x((bool)x) {}
-
- ising_t act(const ising_t& s) const {
- if (x) {
- return ising_t(!s.x);
- } else {
- return ising_t(s.x);
- }
- }
-
- ising_t act_inverse(const ising_t& s) const {
- return this->act(s);
- }
-
- typedef int M_t;
- typedef double F_t;
-
- inline M_t operator*(v_t a) const {
- if (x) {
- return -(M_t)a;
- } else {
- return (M_t)a;
- }
- }
-
- inline F_t operator*(double a) const {
- if (x) {
- return -a;
- } else {
- return a;
- }
- }
-
- inline M_t operator-(const ising_t &s) const {
- if (x == s.x) {
- return 0;
- } else {
- if (x) {
- return -2;
- } else {
- return 2;
- }
- }
- }
-
- inline int operator*(const ising_t& s) const {
- if (x == s.x) {
- return 1;
- } else {
- return -1;
- }
- }
-
- q_t enumerate() const {
- return (q_t)x;
- }
-};
-
-inline ising_t::M_t operator*(v_t a, const ising_t& s) {
- return s * a;
-}
-
-inline ising_t::F_t operator*(double a, const ising_t& s) {
- return s * a;
-}
-
-ising_t gen_ising(std::mt19937&, const system<ising_t, ising_t>&, v_t) {
- return ising_t(true);
-};
-
-}
-
-#endif
-