#include "hadamard_mcmc.hpp" #include class MeasureEnergy : public Measurement { private: unsigned N; double totalE; public: MeasureEnergy() { N = 0; totalE = 0; } void after_sweep(double, double E, const Orthogonal&) override { totalE += E; N++; } double energy() const { return totalE / N; } }; int main() { MeasureEnergy A; MCMC sim(20, 6.0, A); sim.tune(1e4, 0.01); sim.run(1e4); std::cout << "The average energy was " << A.energy() << "."; return 0; }