From 9db6ee734df8477a2529f56e4a6f4b1784bf941b Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Thu, 22 Jun 2017 16:05:05 -0400 Subject: many changes, simplification of some functions, removal of unneeded ones --- lib/wolff.h | 44 +++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 27 deletions(-) (limited to 'lib/wolff.h') diff --git a/lib/wolff.h b/lib/wolff.h index cec9ee3..d3bc412 100644 --- a/lib/wolff.h +++ b/lib/wolff.h @@ -1,19 +1,23 @@ -#include -#include -#include +#pragma once + +#include +#include #include -#include -#include +#include #include #include +#include +#include #include -#include -#include +#include +#include #include #include +#include "queue.h" + typedef struct { graph_t *g; bool *spins; @@ -21,32 +25,18 @@ typedef struct { double H; } ising_state_t; -typedef struct ll_tag { - uint32_t x; - struct ll_tag *next; -} ll_t; - typedef struct { uint32_t nv; - double dH; - int32_t dM; + int32_t dJb; + int32_t dHb; } cluster_t; -double get_hamiltonian(graph_t *g, double *coupling, bool *x); - -void stack_push(ll_t **q, uint32_t x); - -uint32_t stack_pop(ll_t **q); - -bool stack_contains(const ll_t *q, uint32_t x); - -cluster_t *flip_cluster(const graph_t *g, const double *ps, double H, bool *x, gsl_rng *r); +cluster_t *flip_cluster(const graph_t *g, const double *ps, bool *x, + gsl_rng *r); graph_t *graph_add_ext(const graph_t *g); -double hh(double th); - double *get_bond_probs(double T, double H, ising_state_t *s); -uint32_t wolff_step(double T, double H, ising_state_t *s, gsl_rng *r, double *ps); - +uint32_t wolff_step(double T, double H, ising_state_t *s, gsl_rng *r, + double *ps); -- cgit v1.2.3-70-g09d2