Subversion Repositories Games.Chess Giants

Rev

Rev 154 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 154 Rev 156
Line 124... Line 124...
124
    if (nargs != 6) {
124
    if (nargs != 6) {
125
      printf("usage:  adaptive NPS hmin hmax pmin pmax\n");
125
      printf("usage:  adaptive NPS hmin hmax pmin pmax\n");
126
      return 1;
126
      return 1;
127
    }
127
    }
128
    if (nargs > 1) {
128
    if (nargs > 1) {
129
      adaptive_hash = atoiKMB(args[1]);
129
      adaptive_hash = (int) atoiKMB(args[1]); // Pierre-Marie Baty -- added type cast
130
      adaptive_hash_min = atoiKMB(args[2]);
130
      adaptive_hash_min = (size_t) atoiKMB(args[2]); // Pierre-Marie Baty -- added type cast
131
      adaptive_hash_max = atoiKMB(args[3]);
131
      adaptive_hash_max = (size_t) atoiKMB(args[3]); // Pierre-Marie Baty -- added type cast
132
      adaptive_hashp_min = atoiKMB(args[4]);
132
      adaptive_hashp_min = (size_t) atoiKMB(args[4]); // Pierre-Marie Baty -- added type cast
133
      adaptive_hashp_max = atoiKMB(args[5]);
133
      adaptive_hashp_max = (size_t) atoiKMB(args[5]); // Pierre-Marie Baty -- added type cast
134
    }
134
    }
135
    Print(32, "adaptive estimated NPS =  %s\n", DisplayKMB(adaptive_hash, 1));
135
    Print(32, "adaptive estimated NPS =  %s\n", DisplayKMB(adaptive_hash, 1));
136
    Print(32, "adaptive minimum hsize =  %s\n", DisplayKMB(adaptive_hash_min,
136
    Print(32, "adaptive minimum hsize =  %s\n", DisplayKMB(adaptive_hash_min,
137
            1));
137
            1));
138
    Print(32, "adaptive maximum hsize =  %s\n", DisplayKMB(adaptive_hash_max,
138
    Print(32, "adaptive maximum hsize =  %s\n", DisplayKMB(adaptive_hash_max,
Line 322... Line 322...
322
 ************************************************************
322
 ************************************************************
323
 */
323
 */
324
  else if (OptionMatch("bookw", *args)) {
324
  else if (OptionMatch("bookw", *args)) {
325
    if (nargs > 1) {
325
    if (nargs > 1) {
326
      if (OptionMatch("frequency", args[1]))
326
      if (OptionMatch("frequency", args[1]))
327
        book_weight_freq = atof(args[2]);
327
        book_weight_freq = (float) atof(args[2]); // Pierre-Marie Baty -- added type cast
328
      else if (OptionMatch("evaluation", args[1]))
328
      else if (OptionMatch("evaluation", args[1]))
329
        book_weight_eval = atof(args[2]);
329
        book_weight_eval = (float) atof(args[2]); // Pierre-Marie Baty -- added type cast
330
      else if (OptionMatch("learning", args[1]))
330
      else if (OptionMatch("learning", args[1]))
331
        book_weight_learn = atof(args[2]);
331
        book_weight_learn = (float) atof(args[2]); // Pierre-Marie Baty -- added type cast
332
    } else {
332
    } else {
333
      Print(32, "frequency (freq)..............%4.2f\n", book_weight_freq);
333
      Print(32, "frequency (freq)..............%4.2f\n", book_weight_freq);
334
      Print(32, "static evaluation (eval)......%4.2f\n", book_weight_eval);
334
      Print(32, "static evaluation (eval)......%4.2f\n", book_weight_eval);
335
      Print(32, "learning (learn)..............%4.2f\n", book_weight_learn);
335
      Print(32, "learning (learn)..............%4.2f\n", book_weight_learn);
336
    }
336
    }
Line 868... Line 868...
868
      return 2;
868
      return 2;
869
    if (nargs > 1) {
869
    if (nargs > 1) {
870
      allow_memory = 0;
870
      allow_memory = 0;
871
      if (xboard)
871
      if (xboard)
872
        Print(4095, "Warning--  xboard 'memory' option disabled\n");
872
        Print(4095, "Warning--  xboard 'memory' option disabled\n");
873
      new_hash_size = atoiKMB(args[1]);
873
      new_hash_size = (size_t) atoiKMB(args[1]); // Pierre-Marie Baty -- added type cast
874
      if (new_hash_size < 64 * 1024) {
874
      if (new_hash_size < 64 * 1024) {
875
        printf("ERROR.  Minimum hash table size is 64K bytes.\n");
875
        printf("ERROR.  Minimum hash table size is 64K bytes.\n");
876
        return 1;
876
        return 1;
877
      }
877
      }
878
      hash_table_size = ((1ull) << MSB(new_hash_size)) / 16;
878
      hash_table_size = ((1ull) << MSB(new_hash_size)) / 16;
Line 910... Line 910...
910
    size_t old_hash_size = hash_path_size, new_hash_size;
910
    size_t old_hash_size = hash_path_size, new_hash_size;
911
 
911
 
912
    if (thinking || pondering)
912
    if (thinking || pondering)
913
      return 2;
913
      return 2;
914
    if (nargs > 1) {
914
    if (nargs > 1) {
915
      new_hash_size = atoiKMB(args[1]);
915
      new_hash_size = (size_t) atoiKMB(args[1]); // Pierre-Marie Baty -- added type cast
916
      if (new_hash_size < 64 * 1024) {
916
      if (new_hash_size < 64 * 1024) {
917
        printf("ERROR.  Minimum phash table size is 64K bytes.\n");
917
        printf("ERROR.  Minimum phash table size is 64K bytes.\n");
918
        return 1;
918
        return 1;
919
      }
919
      }
920
      hash_path_size = ((1ull) << MSB(new_hash_size / sizeof(HPATH_ENTRY)));
920
      hash_path_size = ((1ull) << MSB(new_hash_size / sizeof(HPATH_ENTRY)));
Line 946... Line 946...
946
      return 2;
946
      return 2;
947
    if (nargs > 1) {
947
    if (nargs > 1) {
948
      allow_memory = 0;
948
      allow_memory = 0;
949
      if (xboard)
949
      if (xboard)
950
        Print(4095, "Warning--  xboard 'memory' option disabled\n");
950
        Print(4095, "Warning--  xboard 'memory' option disabled\n");
951
      new_hash_size = atoiKMB(args[1]);
951
      new_hash_size = (size_t) atoiKMB(args[1]); // Pierre-Marie Baty -- added type cast
952
      if (new_hash_size < 16 * 1024) {
952
      if (new_hash_size < 16 * 1024) {
953
        printf("ERROR.  Minimum pawn hash table size is 16K bytes.\n");
953
        printf("ERROR.  Minimum pawn hash table size is 16K bytes.\n");
954
        return 1;
954
        return 1;
955
      }
955
      }
956
      pawn_hash_table_size =
956
      pawn_hash_table_size =
Line 1216... Line 1216...
1216
      int optimal_hash_size;
1216
      int optimal_hash_size;
1217
 
1217
 
1218
      TimeSet(think);
1218
      TimeSet(think);
1219
      time_limit /= 100;
1219
      time_limit /= 100;
1220
      positions_per_move = time_limit * adaptive_hash / 16;
1220
      positions_per_move = time_limit * adaptive_hash / 16;
1221
      optimal_hash_size = positions_per_move * 16;
1221
      optimal_hash_size = (int) (positions_per_move * 16); // Pierre-Marie Baty -- added type cast
1222
      printf("optimal=%d\n", optimal_hash_size);
1222
      printf("optimal=%d\n", optimal_hash_size);
1223
      optimal_hash_size = Max(optimal_hash_size, adaptive_hash_min);
1223
      optimal_hash_size = Max(optimal_hash_size, (int) adaptive_hash_min); // Pierre-Marie Baty -- added type cast
1224
      optimal_hash_size = Min(optimal_hash_size, adaptive_hash_max);
1224
      optimal_hash_size = Min(optimal_hash_size, (int) adaptive_hash_max); // Pierre-Marie Baty -- added type cast
1225
      sprintf(buffer, "hash=%d\n", optimal_hash_size);
1225
      sprintf(buffer, "hash=%d\n", optimal_hash_size);
1226
      Option(tree);
1226
      Option(tree);
1227
      percent =
1227
      percent =
1228
          (float) (optimal_hash_size -
1228
          (float) (optimal_hash_size -
1229
          adaptive_hash_min) / (float) (adaptive_hash_max -
1229
          adaptive_hash_min) / (float) (adaptive_hash_max -
1230
          adaptive_hash_min);
1230
          adaptive_hash_min);
1231
      optimal_hash_size =
1231
      optimal_hash_size = (int) // Pierre-Marie Baty -- added type cast
1232
          adaptive_hashp_min + percent * (adaptive_hashp_max -
1232
          (adaptive_hashp_min + percent * (adaptive_hashp_max -
1233
          adaptive_hashp_min);
1233
          adaptive_hashp_min));
1234
      optimal_hash_size = Max(optimal_hash_size, adaptive_hashp_min);
1234
      optimal_hash_size = Max(optimal_hash_size, (int) adaptive_hashp_min); // Pierre-Marie Baty -- added type cast
1235
      sprintf(buffer, "hashp=%d\n", optimal_hash_size);
1235
      sprintf(buffer, "hashp=%d\n", optimal_hash_size);
1236
      Option(tree);
1236
      Option(tree);
1237
    }
1237
    }
1238
  }
1238
  }
1239
/*
1239
/*
Line 1714... Line 1714...
1714
        mode = tournament_mode;
1714
        mode = tournament_mode;
1715
        printf("use 'settc' command if a game is restarted after Crafty\n");
1715
        printf("use 'settc' command if a game is restarted after Crafty\n");
1716
        printf("has been terminated for any reason.\n");
1716
        printf("has been terminated for any reason.\n");
1717
      } else if (!strcmp(args[1], "normal")) {
1717
      } else if (!strcmp(args[1], "normal")) {
1718
        mode = normal_mode;
1718
        mode = normal_mode;
1719
        book_weight_learn = 1.0;
1719
        book_weight_learn = 1.0f; // Pierre-Marie Baty -- fixed constant truncation
1720
        book_weight_freq = 1.0;
1720
        book_weight_freq = 1.0f; // Pierre-Marie Baty -- fixed constant truncation
1721
        book_weight_eval = 0.5;
1721
        book_weight_eval = 0.5f; // Pierre-Marie Baty -- fixed constant truncation
1722
      } else if (!strcmp(args[1], "match")) {
1722
      } else if (!strcmp(args[1], "match")) {
1723
        mode = normal_mode;
1723
        mode = normal_mode;
1724
        book_weight_learn = 1.0;
1724
        book_weight_learn = 1.0f; // Pierre-Marie Baty -- fixed constant truncation
1725
        book_weight_freq = 0.2;
1725
        book_weight_freq = 0.2f; // Pierre-Marie Baty -- fixed constant truncation
1726
        book_weight_eval = 0.1;
1726
        book_weight_eval = 0.1f; // Pierre-Marie Baty -- fixed constant truncation
1727
      } else {
1727
      } else {
1728
        printf("usage:  mode normal|tournament|match\n");
1728
        printf("usage:  mode normal|tournament|match\n");
1729
        mode = normal_mode;
1729
        mode = normal_mode;
1730
        book_weight_learn = 1.0;
1730
        book_weight_learn = 1.0f; // Pierre-Marie Baty -- fixed constant truncation
1731
        book_weight_freq = 1.0;
1731
        book_weight_freq = 1.0f; // Pierre-Marie Baty -- fixed constant truncation
1732
        book_weight_eval = 0.5;
1732
        book_weight_eval = 0.5f; // Pierre-Marie Baty -- fixed constant truncation
1733
      }
1733
      }
1734
    }
1734
    }
1735
    if (mode == tournament_mode)
1735
    if (mode == tournament_mode)
1736
      printf("tournament mode.\n");
1736
      printf("tournament mode.\n");
1737
    else if (mode == normal_mode)
1737
    else if (mode == normal_mode)
Line 1851... Line 1851...
1851
  else if (OptionMatch("noise", *args)) {
1851
  else if (OptionMatch("noise", *args)) {
1852
    if (nargs < 2) {
1852
    if (nargs < 2) {
1853
      printf("usage:  noise <n>\n");
1853
      printf("usage:  noise <n>\n");
1854
      return 1;
1854
      return 1;
1855
    }
1855
    }
1856
    noise_level = atof(args[1]) * 100;
1856
    noise_level = (unsigned int) (atof(args[1]) * 100); // Pierre-Marie Baty -- added type cast
1857
    Print(32, "noise level set to %.2f seconds.\n",
1857
    Print(32, "noise level set to %.2f seconds.\n",
1858
        (float) noise_level / 100.0);
1858
        (float) noise_level / 100.0);
1859
  }
1859
  }
1860
/*
1860
/*
1861
 ************************************************************
1861
 ************************************************************
Line 3405... Line 3405...
3405
      return 3;
3405
      return 3;
3406
    allow_cores = 0;
3406
    allow_cores = 0;
3407
    if (xboard)
3407
    if (xboard)
3408
      Print(4095, "Warning--  xboard 'cores' option disabled\n");
3408
      Print(4095, "Warning--  xboard 'cores' option disabled\n");
3409
    smp_max_threads = atoi(args[1]);
3409
    smp_max_threads = atoi(args[1]);
3410
    if (smp_max_threads > hardware_processors) {
3410
    if (smp_max_threads > (int) hardware_processors) { // Pierre-Marie Baty -- added type cast
3411
      Print(4095, "ERROR - machine has %d processors.\n",
3411
      Print(4095, "ERROR - machine has %d processors.\n",
3412
          hardware_processors);
3412
          hardware_processors);
3413
      Print(4095, "ERROR - max threads can not exceed this limit.\n");
3413
      Print(4095, "ERROR - max threads can not exceed this limit.\n");
3414
      smp_max_threads = hardware_processors;
3414
      smp_max_threads = hardware_processors;
3415
    }
3415
    }
Line 3526... Line 3526...
3526
  else if (OptionMatch("st", *args)) {
3526
  else if (OptionMatch("st", *args)) {
3527
    if (nargs < 2) {
3527
    if (nargs < 2) {
3528
      printf("usage:  st <time>\n");
3528
      printf("usage:  st <time>\n");
3529
      return 1;
3529
      return 1;
3530
    }
3530
    }
3531
    search_time_limit = atof(args[1]) * 100;
3531
    search_time_limit = (int) (atof(args[1]) * 100); // Pierre-Marie Baty -- added type cast
3532
    Print(32, "search time set to %.2f.\n",
3532
    Print(32, "search time set to %.2f.\n",
3533
        (float) search_time_limit / 100.0);
3533
        (float) search_time_limit / 100.0);
3534
  }
3534
  }
3535
/*
3535
/*
3536
 ************************************************************
3536
 ************************************************************