#ifndef MAINBODY_H
#define MAINBODY_H

//These defines are super-important when using MinGW (but not in the documentation for some reason): they force boost_thread to link either statically or dynamically
//#define BOOST_THREAD_USE_LIB
//#define BOOST_THREAD_USE_DLL
//#define BOOST_THREAD_DYN_LINK

#include <boost/random.hpp>
#include <boost/thread.hpp>
#include <exception>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <sstream>
#include <time.h>
#include <vector>

#include "biofunctions.h"
#include "fileio.h"
#include "geneclasses.h"
#include "genedrop.h"

//Carries out the requested simulations
int run_main_body(bool print_all, int n_runs, std::string ped_filename, std::string loc_filename, std::string fou_filename, GeneDrop *ui, bool *lock, bool *excep_flag);

#endif // MAINBODY_H
