
#define TRUE (1)
#define FALSE (0)
#define boolean uint8

#define MAX_CPUS 8
#include "IH-win-linux.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void SEND (char* fmt, ...);
int CURRENT_TOTAL_BASE_CACHE;
#define FILE(s) ((s) & 7)
#define RANK(s) ((s) >> 3)
#define MAX(x, y) (( (x) >= (y)) ? (x) : (y))
#define MIN(x, y) (( (x) <= (y)) ? (x) : (y))

typedef enum
  { wEnumOcc, wEnumP, wEnumN, wEnumK, wEnumBL, wEnumBD, wEnumR, wEnumQ,
    bEnumOcc, bEnumP, bEnumN, bEnumK, bEnumBL, bEnumBD, bEnumR, bEnumQ
  } EnumPieces;
typedef enum
  { A1, B1, C1, D1, E1, F1, G1, H1, A2, B2, C2, D2, E2, F2, G2, H2,
    A3, B3, C3, D3, E3, F3, G3, H3, A4, B4, C4, D4, E4, F4, G4, H4,
    A5, B5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6,
    A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8
  } EnumSquares;
typedef enum { R1, R2, R3, R4, R5, R6, R7, R8 } EnumRanks;
typedef enum { FA, FB, FC, FD, FE, FF, FG, FH } EnumFiles;

#define ABS(x) (( (x) >= 0) ? (x) : -(x))
#define FileDistance(x, y) (ABS (FILE (x) - FILE (y)))
#define RankDistance(x, y) (ABS (RANK (x) - RANK (y)))

int TRIPLE_MAX_USAGE;
char ROBBO_BULK_DIRECTORY[1024];
char ROBBO_BULK_NAME[1024];

