summaryrefslogtreecommitdiff
path: root/lib/include/wolff/graph.hpp
blob: 0aeb6af25cce8a9d86931a6e7119eecb2e7ba510 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#pragma once

#include <cmath>
#include <vector>

#include "types.h"

typedef enum lattice_t {
  SQUARE_LATTICE,
  DIAGONAL_LATTICE
} lattice_t;

class graph_t {
  public:
    v_t ne;
    v_t nv;
    std::vector<std::vector<v_t>> v_adj;
    std::vector<std::vector<double>> coordinate;

    graph_t(D_t D, L_t L, lattice_t lat = SQUARE_LATTICE);
    void add_ext();
};