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 1044... Line 1044...
1044
  n = 64 - norm[0];
1044
  n = 64 - norm[0];
1045
 
1045
 
1046
  f = 1;
1046
  f = 1;
1047
  for (i = norm[0], k = 0; i < num || k == order; k++) {
1047
  for (i = norm[0], k = 0; i < num || k == order; k++) {
1048
    if (k == order) {
1048
    if (k == order) {
1049
      factor[0] = f;
1049
      factor[0] = (int) f; // Pierre-Marie Baty -- added type cast
1050
#ifndef CONNECTED_KINGS
1050
#ifndef CONNECTED_KINGS
1051
      f *= pivfac[enc_type];
1051
      f *= pivfac[enc_type];
1052
#else
1052
#else
1053
      if (enc_type < 4)
1053
      if (enc_type < 4)
1054
        f *= pivfac[enc_type];
1054
        f *= pivfac[enc_type];
1055
      else
1055
      else
1056
        f *= mfactor[enc_type - 2];
1056
        f *= mfactor[enc_type - 2];
1057
#endif
1057
#endif
1058
    } else {
1058
    } else {
1059
      factor[i] = f;
1059
      factor[i] = (int) f; // Pierre-Marie Baty -- added type cast
1060
      f *= subfactor(norm[i], n);
1060
      f *= subfactor(norm[i], n);
1061
      n -= norm[i];
1061
      n -= norm[i];
1062
      i += norm[i];
1062
      i += norm[i];
1063
    }
1063
    }
1064
  }
1064
  }
Line 1077... Line 1077...
1077
  n = 64 - i;
1077
  n = 64 - i;
1078
 
1078
 
1079
  f = 1;
1079
  f = 1;
1080
  for (k = 0; i < num || k == order || k == order2; k++) {
1080
  for (k = 0; i < num || k == order || k == order2; k++) {
1081
    if (k == order) {
1081
    if (k == order) {
1082
      factor[0] = f;
1082
      factor[0] = (int) f; // Pierre-Marie Baty -- added type cast
1083
      f *= pfactor[norm[0] - 1][file];
1083
      f *= pfactor[norm[0] - 1][file];
1084
    } else if (k == order2) {
1084
    } else if (k == order2) {
1085
      factor[norm[0]] = f;
1085
      factor[norm[0]] = (int) f; // Pierre-Marie Baty -- added type cast
1086
      f *= subfactor(norm[norm[0]], 48 - norm[0]);
1086
      f *= subfactor(norm[norm[0]], 48 - norm[0]);
1087
    } else {
1087
    } else {
1088
      factor[i] = f;
1088
      factor[i] = (int) f; // Pierre-Marie Baty -- added type cast
1089
      f *= subfactor(norm[i], n);
1089
      f *= subfactor(norm[i], n);
1090
      n -= norm[i];
1090
      n -= norm[i];
1091
      i += norm[i];
1091
      i += norm[i];
1092
    }
1092
    }
1093
  }
1093
  }
Line 1266... Line 1266...
1266
      ((ubyte *) d) + sizeof(struct PairsData) + (h - 1) * sizeof(base_t);
1266
      ((ubyte *) d) + sizeof(struct PairsData) + (h - 1) * sizeof(base_t);
1267
  d->sympat = &data[12 + 2 * h];
1267
  d->sympat = &data[12 + 2 * h];
1268
  d->min_len = min_len;
1268
  d->min_len = min_len;
1269
  *next = &data[12 + 2 * h + 3 * num_syms + (num_syms & 1)];
1269
  *next = &data[12 + 2 * h + 3 * num_syms + (num_syms & 1)];
1270
 
1270
 
1271
  int num_indices = (tb_size + (1ULL << idxbits) - 1) >> idxbits;
1271
  int num_indices = (int) ((tb_size + (1ULL << idxbits) - 1) >> idxbits); // Pierre-Marie Baty -- added type cast
1272
  size[0] = 6ULL * num_indices;
1272
  size[0] = 6ULL * num_indices;
1273
  size[1] = 2ULL * num_blocks;
1273
  size[1] = 2ULL * num_blocks;
1274
  size[2] = (1ULL << blocksize) * real_num_blocks;
1274
  size[2] = (1ULL << blocksize) * real_num_blocks;
1275
 
1275
 
1276
 // char tmp[num_syms];
1276
 // char tmp[num_syms];
Line 1515... Line 1515...
1515
 
1515
 
1516
static ubyte decompress_pairs(struct PairsData *d, uint64 idx) {
1516
static ubyte decompress_pairs(struct PairsData *d, uint64 idx) {
1517
  if (!d->idxbits)
1517
  if (!d->idxbits)
1518
    return d->min_len;
1518
    return d->min_len;
1519
 
1519
 
1520
  uint32 mainidx = idx >> d->idxbits;
1520
  uint32 mainidx = (uint32) (idx >> d->idxbits); // Pierre-Marie Baty -- added type cast
1521
  int litidx = (idx & ((1 << d->idxbits) - 1)) - (1 << (d->idxbits - 1));
1521
  int litidx = (int) ((idx & ((1ULL << d->idxbits) - 1)) - (1ULL << (d->idxbits - 1))); // Pierre-Marie Baty -- fixed types + added type cast
1522
  uint32 block = *(uint32 *) (d->indextable + 6 * mainidx);
1522
  uint32 block = *(uint32 *) (d->indextable + 6 * mainidx);
1523
  litidx += *(ushort *) (d->indextable + 6 * mainidx + 4);
1523
  litidx += *(ushort *) (d->indextable + 6 * mainidx + 4);
1524
  if (litidx < 0) {
1524
  if (litidx < 0) {
1525
    do {
1525
    do {
1526
      litidx += d->sizetable[--block] + 1;
1526
      litidx += d->sizetable[--block] + 1;