1 #ifndef EVAL_ML_PROGRESS_H 
    2 #define EVAL_ML_PROGRESS_H 
   18         static int eval(Progress16 black, Progress16 white);
 
   21         static int index(Progress16 black, Progress16 white)
 
   23           return black.value() * 16 + white.value();
 
   31         static int eval(Progress16 black_attack, Progress16 white_defense,
 
   32                         Progress16 white_attack, Progress16 black_defense);
 
   35         static int index(Progress16 attack, Progress16 defense)
 
   37           return attack.value() * 16 + defense.value();
 
   46         static int eval(Progress16 black_attack,
 
   47                         Progress16 white_defense,
 
   48                         Progress16 white_attack, Progress16 black_defense);
 
   51         static int index(Progress16 black_attack, Progress16 white_defense,
 
   52                          Progress16 white_attack, Progress16 black_defense)
 
   54           return white_attack.value() +
 
   55             16 * (black_defense.value() +
 
   56                   16 * (black_attack.value() * 16 + white_defense.value()));
 
   58         static CArray<int, 65536> 
table;
 
   64 #endif // EVAL_ML_PROGRESS_H