3 #ifndef MOBILITY_COUNT_MOBILITY_H
4 #define MOBILITY_COUNT_MOBILITY_H
19 template<Player P,
bool All,
bool Safe>
24 for(pos+=o;(p=state.pieceAt(pos)).isEmpty();pos+=o){
37 countMobilityBoth<BLACK,true,true>(state,pos,o,countAll,countSafe);
39 countMobilityBoth<WHITE,true,true>(state,pos,o,countAll,countSafe);
48 countMobilityBoth<BLACK,true,false>(state,pos,o,ret,dummy);
50 countMobilityBoth<WHITE,true,false>(state,pos,o,ret,dummy);
60 countMobilityBoth<BLACK,false,true>(state,pos,o,dummy,ret);
62 countMobilityBoth<WHITE,false,true>(state,pos,o,dummy,ret);