@@ -26,7 +26,7 @@ public static double PgnListEParallel(IEnumerable<BinaryPGN> pgnList, Func<Engin
2626 double sum = 0 ;
2727 int count = 0 ;
2828 object _resultLock = new object ( ) ;
29- Dictionary < System . Threading . Thread , Tuple < Evaluator , MovePicker . Stack > > dic = new Dictionary < System . Threading . Thread , Tuple < Evaluator , MovePicker . Stack > > ( ) ;
29+ Dictionary < System . Threading . Thread , Tuple < Evaluator , IList < MovePicker > > > dic = new Dictionary < System . Threading . Thread , Tuple < Evaluator , IList < MovePicker > > > ( ) ;
3030
3131 ParallelOptions parallelOptions = new ParallelOptions ( ) ;
3232 parallelOptions . MaxDegreeOfParallelism = 5 ;
@@ -37,13 +37,13 @@ public static double PgnListEParallel(IEnumerable<BinaryPGN> pgnList, Func<Engin
3737 Parallel . ForEach ( pgnList , parallelOptions , pgn =>
3838 {
3939 Evaluator myThreadEvaluator = null ;
40- MovePicker . Stack myThreadStack = null ;
40+ IList < MovePicker > myThreadStack = null ;
4141 lock ( _resultLock )
4242 {
4343 System . Threading . Thread currentThread = System . Threading . Thread . CurrentThread ;
4444 if ( ! dic . ContainsKey ( currentThread ) )
4545 {
46- dic . Add ( currentThread , new Tuple < Evaluator , MovePicker . Stack > ( fnCreateEval ( ) , new MovePicker . Stack ( ) ) ) ;
46+ dic . Add ( currentThread , new Tuple < Evaluator , IList < MovePicker > > ( fnCreateEval ( ) , MovePicker . CreateStack ( ) ) ) ;
4747 }
4848 myThreadEvaluator = dic [ currentThread ] . Item1 ;
4949 myThreadStack = dic [ currentThread ] . Item2 ;
@@ -68,7 +68,7 @@ public static double PgnListEParallel(IEnumerable<BinaryPGN> pgnList, Func<Engin
6868
6969
7070
71- public static double PgnE ( BinaryPGN pgn , Evaluator evaluator , MovePicker . Stack moveStack )
71+ public static double PgnE ( BinaryPGN pgn , Evaluator evaluator , IList < MovePicker > moveStack )
7272 {
7373 Board board = new Board ( evaluator . PcSq ) ;
7474 GameResult result = pgn . Result ;
@@ -94,7 +94,7 @@ public static double PgnE(BinaryPGN pgn, Evaluator evaluator, MovePicker.Stack m
9494 return retval ;
9595 }
9696
97- public static double PosE ( Board board , GameResult gameResult , Evaluator evaluator , MovePicker . Stack moveStack )
97+ public static double PosE ( Board board , GameResult gameResult , Evaluator evaluator , IList < MovePicker > moveStack )
9898 {
9999 double qscore = qScore ( board , evaluator , moveStack ) ;
100100 double retval = TanDiff ( qscore , gameResult ) ;
@@ -122,14 +122,14 @@ public static double TanScore(double qscore)
122122 return tan ;
123123 }
124124
125- public static int qScore ( Board board , Evaluator evaluator , MovePicker . Stack moveStack )
125+ public static int qScore ( Board board , Evaluator evaluator , IList < MovePicker > moveStack )
126126 {
127127 //var playerScore = qSearch(board, evaluator, moveStack);
128128 var playerScore = evaluator . EvalFor ( board , board . WhosTurn ) ;
129129 return board . WhosTurn == Player . White ? playerScore : - playerScore ;
130130 }
131131
132- public static int qSearch ( Board board , Evaluator evaluator , MovePicker . Stack moveStack , out int resultDepth , int ply = 0 , int alpha = Evaluator . MinValue , int beta = Evaluator . MaxValue )
132+ public static int qSearch ( Board board , Evaluator evaluator , IList < MovePicker > moveStack , out int resultDepth , int ply = 0 , int alpha = Evaluator . MinValue , int beta = Evaluator . MaxValue )
133133 {
134134 resultDepth = 0 ;
135135 var me = board . WhosTurn ;
0 commit comments