diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2017-10-31 23:43:51 -0400 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2017-10-31 23:43:51 -0400 |
commit | a0db32c0ad05fbe2753d44b1e82f608d99bd9742 (patch) | |
tree | 6c0be7cda163af6b9720710f6d76c763f25077f2 /lib/wolff.h | |
parent | 2a35ef2c651f73e698af54b9ae3c4779a7f44630 (diff) | |
download | c++-a0db32c0ad05fbe2753d44b1e82f608d99bd9742.tar.gz c++-a0db32c0ad05fbe2753d44b1e82f608d99bd9742.tar.bz2 c++-a0db32c0ad05fbe2753d44b1e82f608d99bd9742.zip |
completely changed how autocorrelation is computed
Diffstat (limited to 'lib/wolff.h')
-rw-r--r-- | lib/wolff.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/wolff.h b/lib/wolff.h index 84b3d22..cf24427 100644 --- a/lib/wolff.h +++ b/lib/wolff.h @@ -50,7 +50,16 @@ typedef struct { double dc; } meas_t; -int32_t sign(double x); +typedef struct { + uint64_t n; + uint64_t W; + double *OO; + double *Op; + double O; + double O2; +} autocorr_t; + +int8_t sign(double x); cluster_t *flip_cluster(const graph_t *g, const double *ps, bool *x, bool stop_on_ghost, gsl_rng *r); @@ -62,5 +71,9 @@ uint32_t wolff_step(double T, double H, ising_state_t *s, sim_t sim, gsl_rng *r, void update_meas(meas_t *m, double x); +void update_autocorr(autocorr_t *OO, double O); + double add_to_avg(double mx, double x, uint64_t n); +double rho(autocorr_t *o, uint64_t i); + |