Example #1
0
int main(int argc, char const *argv[])
{
	size_t m, n;
	printf("Input N: ");
	scanf("%lu", &n);
	printf("and M: ");
	scanf("%lu", &m);

	Node* chain = initChain();

	add_to_chain(chain, n);
	show_chain(chain);

	run(chain, n, m);
	show_chain(chain);
	
	return 0;
}
Example #2
0
    void sample(int iterations, int burn, int adapt, int thin) {


      if(iterations % thin) {
        std::cout << "ERROR: interations not a multiple of thin." << std::endl;
        return;
      }

      // setup logp's etc.
      initChain();

      if(logp()==-std::numeric_limits<double>::infinity()) {
        throw std::logic_error("ERROR: cannot start from a logp of -Inf.");
      }

      // tuning phase
      tune(adapt,static_cast<int>(adapt/100));
      if(true) { tune_global(adapt,static_cast<int>(adapt/100)); }

      // sampling
      run(iterations, burn, thin);
    }