summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/orthogonal.h2
-rw-r--r--lib/vector.h17
-rw-r--r--src/analyze_correlations.cpp2
3 files changed, 3 insertions, 18 deletions
diff --git a/lib/orthogonal.h b/lib/orthogonal.h
index 34cd44e..85d0e11 100644
--- a/lib/orthogonal.h
+++ b/lib/orthogonal.h
@@ -24,6 +24,7 @@ class orthogonal_t : public std::array<std::array<T, q>, q> {
vector_t<q, T> act(const vector_t <q, T>& v) const {
vector_t <q, T> v_rot;
+ v_rot.fill(0);
if (is_reflection) {
double prod = 0;
@@ -80,6 +81,7 @@ class orthogonal_t : public std::array<std::array<T, q>, q> {
return this->act(v); // reflections are their own inverse
} else {
vector_t <q, T> v_rot;
+ v_rot.fill(0);
for (q_t i = 0; i < q; i++) {
for (q_t j = 0; j < q; j++) {
diff --git a/lib/vector.h b/lib/vector.h
index 2f4077a..72633a8 100644
--- a/lib/vector.h
+++ b/lib/vector.h
@@ -7,23 +7,6 @@
#include "types.h"
-/* The following is the minimum definition of a spin class.
- *
- * The class must contain an M_t and an F_t for holding the sum of an
- * integer number of spins and a double-weighted number of spins,
- * respectively.
- *
- * void init(X_t *p);
- * void free_spin(X_t p);
- * X_t copy(X_t x);
- * void add(M_t *x1, int factor, X_t x2);
- * void add(F_t *x1, double factor, X_t x2);
- * M_t scalar_multiple(int factor, X_t x);
- * double norm_squared(F_t x);
- * void write_magnetization(M_t M, FILE *outfile);
- *
- */
-
template <q_t q, class T>
class vector_t : public std::array<T, q> {
public:
diff --git a/src/analyze_correlations.cpp b/src/analyze_correlations.cpp
index 5f3dda0..91c2e7f 100644
--- a/src/analyze_correlations.cpp
+++ b/src/analyze_correlations.cpp
@@ -20,7 +20,7 @@ double mean(int N, T *data) {
double squared_mean(int N, double *data) {
double total = 0;
for (int i = 0; i < N; i++) {
- total += data[i];
+ total += pow(data[i], 2);
}
return total / N;