Exemplo n.º 1
0
Arquivo: perft.cpp Projeto: pd/benthos
int
main(int argc, char *argv[])
{
	position_t *pos = (position_t *)malloc(sizeof(position_t));
	rootPosition = pos;

	init_bitboards();
	init_mersenne();
	init_zobrist();

	for (int i = 1; i < argc; i++) {
		if (!strcmp(argv[i], "-help"))
			usage();
		else if (!strcmp(argv[i], "-noit"))
			iterate = 0;
		else if (!strcmp(argv[i], "-all"))
			test_all(pos);
		else if (!strcmp(argv[i], "-test")) {
			if (argc <= i + 2)
				usage();
			test(pos, argv[i+1], atoi(argv[i+2]));
			exit(0);
		} else
			usage();
	}

	if (argc == 1)
		test(pos, names[0], depths[0][0]);

	return 0;
}
Exemplo n.º 2
0
int main(int argc, char *argv[]) {

  // Disable IO buffering
  setbuf(stdin, NULL);
  setbuf(stdout, NULL);
  std::cout.rdbuf()->pubsetbuf(NULL, 0);
  std::cin.rdbuf()->pubsetbuf(NULL, 0);

  // Initialization

  init_mersenne();
  init_direction_table();
  init_bitboards();
  init_uci_options();
  Position::init_zobrist();
  Position::init_piece_square_tables();
  MaterialInfo::init();
  MovePicker::init_phase_table();
  init_eval(1);
  init_bitbases();
  init_threads();

  // Make random number generation less deterministic, for book moves
  int i = abs(get_system_time() % 10000);
  for(int j = 0; j < i; j++)
    genrand_int32();

  // Process command line arguments
  if(argc >= 2) {
    if(std::string(argv[1]) == "bench") {
      if(argc != 4) {
        std::cout << "Usage: glaurung bench <hash> <threads>" << std::endl;
        exit(0);
      }
      benchmark(std::string(argv[2]), std::string(argv[3]));
      return 0;
    }
  }

  // Print copyright notice
  std::cout << engine_name() << ".  "
            << "Copyright (C) 2004-2008 Tord Romstad."
            << std::endl;

  // Enter UCI mode
  uci_main_loop();

  return 0;
}
Application::Application() {

    init_mersenne();
    init_direction_table();
    init_bitboards();
    init_uci_options();
    Position::init_zobrist();
    Position::init_piece_square_tables();
    init_eval(1);
    init_bitbases();
    init_search();
    init_threads();

    // Make random number generation less deterministic, for book moves
    for (int i = abs(get_system_time() % 10000); i > 0; i--)
        genrand_int32();
}