DP Langevin
Loading...
Searching...
No Matches
langevin_types.hpp
Go to the documentation of this file.
1
5
6#ifndef CORE_HPP
7#define CORE_HPP
8
9#include <iostream>
10#include <vector>
11#include <random>
12#include <pybind11/numpy.h>
13#include <valarray>
14
16typedef std::mt19937 rng_t;
17
19typedef std::vector<double> dbl_vec_t;
21typedef std::vector<int> int_vec_t;
22
24typedef std::vector<double> grid_t;
25// typedef std::valarray<double> grid_t; // doesn't work
26
28typedef std::vector<int> neighborhood_t;
30typedef std::vector< neighborhood_t > grid_wiring_t;
31// typedef std::valarray<int> grid_connection_t; // doesn't work
32// typedef std::valarray< grid_connection_t > grid_wiring_t; // doesn't work
33
35typedef std::poisson_distribution<int> poisson_dist_t;
37typedef std::gamma_distribution<double> gamma_dist_t;
39typedef std::normal_distribution<double> gaussian_dist_t;
41typedef std::uniform_real_distribution<double> uniform_dist_t;
42
43#include "langevin_enums.hpp"
45typedef std::vector<GridTopology> gt_vec_t;
46typedef std::vector<BoundaryCondition> bc_vec_t;
47
48namespace py = pybind11;
50typedef py::array_t<double, py::array::c_style> py_array_t;
51
52#endif
Enumerated parameter options for BaseLangevin integrator.
std::gamma_distribution< double > gamma_dist_t
Type for function generating gamma variates.
std::vector< double > grid_t
Type for density grid.
std::poisson_distribution< int > poisson_dist_t
Type for function generating Poisson variates.
std::vector< int > neighborhood_t
Type for density grid wiring.
py::array_t< double, py::array::c_style > py_array_t
Type for Python arrays of doubles.
std::vector< GridTopology > gt_vec_t
Type for specifying grid topology in each direction x, y, z...
std::vector< neighborhood_t > grid_wiring_t
Type for grid-cell neighborhood connections.
std::uniform_real_distribution< double > uniform_dist_t
Type for function generating uniformly distributed variates.
std::normal_distribution< double > gaussian_dist_t
Type for function generating Gaussian variates.
std::vector< int > int_vec_t
Type for vectors of integers.
std::vector< double > dbl_vec_t
Type for vectors of doubles.
std::mt19937 rng_t
Use Mersenne Twister random number generator.