/* * evaluator.h */ #ifndef EVALUATOR_H #define EVALUATOR_H /** * This resets the distributed evaluation framework. */ void reset_evaluator(); /** * This sets the output file that the distributed evaluation framework reports results to. */ void set_evaluation_output(char* name); /** * This calculates the likelihood for the given parameters, and reports the value to the * file specified by set_evaluation_output (if one is specified). */ double track_evaluate(double* parameters); /** * This sets the maximum number of evaluations to be done by the evaluator before * it quits. */ void evaluator__max_evaluations(int max_evaluations); /** * This calculates the likelihood for the given parameters. */ double evaluate(double* parameters); /** * This initializes the MPI processes in the distributed evaluation framework. */ void evaluator__init(int number_arguments, char** arguments); /** * This causes all the MPI processes to call the read data function and generate * their data. */ void evaluator__init_data(void (*read_data)(int, int)); /** * This specifies the integral function and the integral combination function (note: if this is used * it must be specified before the evaluator__init_likelihood function is called). */ void evaluator__init_integral(double* (*i_f)(double*), int i_p_l, double* (*i_c)(double*, int), int i_r_l); /** * This specifies the likelihood function and the likelihood combination function. */ void evaluator__init_likelihood(double* (*l_f)(double*), int l_p_l, double (*l_c)(double*, int), int l_r_l); #endif