28 #define BZ_HAVE_BOOST_SERIALIZATION
29 #include <blitz/array.h>
30 #include <boost/archive/text_oarchive.hpp>
31 #include <boost/archive/text_iarchive.hpp>
32 #include <boost/archive/binary_oarchive.hpp>
33 #include <boost/archive/binary_iarchive.hpp>
35 #include <boost/format.hpp>
36 #include <boost/ptr_container/ptr_vector.hpp>
37 #include <boost/ptr_container/ptr_map.hpp>
39 #include <boost/property_tree/ptree.hpp>
40 #include <boost/property_tree/xml_parser.hpp>
42 #include <boost/math/tools/minima.hpp>
52 #define PIMC_DEBUG_MESSAGE(X)\
53 { std::cerr << "[pimc] " << __FILE__ << ": " << __LINE__ << " " << X << std::endl; }
56 #define PIMC_ASSERT(X) assert(X)
61 #define PIMC_DEBUG_MESSAGE(X)
64 #define PIMC_ASSERT(X)
81 #define REPO_VERSION "none"
95 #define DBL_EPS std::numeric_limits<double>::epsilon()
97 #define LBIG 69.07755279
101 using namespace blitz;
108 typedef TinyMatrix<double,NDIM,NDIM>
dMat;
111 typedef TinyVector<double,NDIM>
dVec;
114 typedef TinyVector<int,NDIM>
iVec;
136 inline int ipow (
int base,
int power) {
137 return static_cast<int>(floor(pow(1.0*base,1.0*power) +
EPS));
141 template<
typename Ttype>
142 inline Ttype&
min(Ttype& x, Ttype& y) {
return (x < y ? x : y); }
145 template<
typename Ttype>
146 inline Ttype&
max(Ttype& x, Ttype& y) {
return (x > y ? x : y); }
Mersenne Twister random number generator.
Ttype & max(Ttype &x, Ttype &y)
Maximum of two inputs.
int ipow(int base, int power)
Return the integer value of a number raised to a power.
Array< beadLocator, 1 >::iterator beadIter
beadLocator array iterator
unsigned long uint32
Unsigned integer type, at least 32 bits.
TinyMatrix< double, NDIM, NDIM > dMat
A NDIM x NDIM matrix of type double.
TinyVector< int, 2 > beadLocator
time-slice,bead-number world line index
ensemble
Each move can operate on only the digaonal ensemble, only the off-diagonal ensemble,...
#define EPS
A small number.
Array< int, 1 >::iterator intIter
Integer array iterator.
beadState
Each bead can have three possible states.
Ttype & min(Ttype &x, Ttype &y)
Minimum of two inputs.
Array< int, 1 >::const_iterator cintIter
Constant integer array iterator.
TinyVector< double, NDIM > dVec
A NDIM-vector of type double.
TinyVector< int, NDIM > iVec
A NDIM-vector of type integer.