forked from eggplantbren/RJObject
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
42 lines (34 loc) · 863 Bytes
/
main.cpp
File metadata and controls
42 lines (34 loc) · 863 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <ctime>
#include <iostream>
#include <fstream>
#include "RJObject.h"
#include "RandomNumberGenerator.h"
#include "Distributions/BasicCircular.h"
using namespace DNest3;
using namespace std;
// Demonstration of the MCMC
int main()
{
// Initialise DNest3's random number generator
RandomNumberGenerator::initialise_instance();
RandomNumberGenerator::get_instance().set_seed(time(0));
RJObject<BasicCircular> r1(3, 2000, false, BasicCircular(-1., 1., -1., 1., 1E-3, 1E3));
RJObject<BasicCircular> r2(3, 2000, false, BasicCircular(-1., 1., -1., 1., 1E-3, 1E3));
r1.fromPrior();
fstream fout("output.txt", ios::out);
for(int i=0; i<1000; i++)
{
r2 = r1;
double logH = r2.perturb();
if(randomU() <= exp(logH))
r1 = r2;
if((i+1)%10 == 0)
{
r1.print(fout);
fout<<endl;
cout<<(i+1)<<endl;
}
}
fout.close();
return 0;
}