#ifndef RANDOM_SOLUTION
#define RANDOM_SOLUTION

#include <ctime>
#include <unistd.h>
#include <sys/times.h>
#include "individual.h"

class random_solution {
  static time_t wall_pt;
  static time_t wall_tmr;
  static double process_pt;
  static double process_tmr;
  static unsigned long individuals;
public:
  static inline double get_ticks(struct tms &);
  static void start_timer();
  static void stop_timer();

  static time_t get_wall_time() {
    return random_solution::wall_tmr;
  }

  static double get_process_time() {
    return (random_solution::process_tmr / sysconf(_SC_CLK_TCK));
  }

  static unsigned long get_individuals() {
    return random_solution::individuals;
  }

  static individual *get_solution(char, int);
};

#endif /* RANDOM_SOLUTION */

