@@ -14,7 +14,7 @@ use tracing::{error, info};
1414
1515use crate :: {
1616 antichess_tb, gaviota,
17- op1:: { Op1Client , Op1Response } ,
17+ op1:: { Dtc , Op1Client , Op1Response } ,
1818 response:: {
1919 Category , MainlineResponse , MainlineStep , MoveInfo , PessimisticUnknown , PositionInfo ,
2020 TablebaseResponse ,
@@ -165,17 +165,30 @@ impl Tablebases {
165165 Reverse ( m. pos . insufficient_material ) ,
166166 ) ,
167167 if m. category . is_negative ( ) {
168- ( Reverse ( m. pos . dtm . or ( m. pos . dtw ) ) , Reverse ( m. pos . dtc ) )
168+ (
169+ Reverse ( m. pos . dtm . or ( m. pos . dtw ) ) ,
170+ Reverse ( if m. capture . is_some ( ) {
171+ Some ( Dtc ( 0 ) )
172+ } else {
173+ m. pos . dtc
174+ } ) ,
175+ )
169176 } else {
170177 ( Reverse ( None ) , Reverse ( None ) )
171178 } ,
172179 if m. category . is_positive ( ) {
173- ( m. pos . dtm . or ( m. pos . dtw ) . map ( Reverse ) , m. pos . dtc . map ( Reverse ) )
180+ (
181+ m. pos . dtm . or ( m. pos . dtw ) . map ( Reverse ) ,
182+ if m. capture . is_some ( ) {
183+ Some ( Reverse ( Dtc ( 0 ) ) )
184+ } else {
185+ m. pos . dtc . map ( Reverse )
186+ } ,
187+ )
174188 } else {
175189 ( None , None )
176190 } ,
177191 m. zeroing ^ !m. category . is_positive ( ) ,
178- m. capture . is_some ( ) ^ !m. category . is_positive ( ) ,
179192 m. pos . maybe_rounded_dtz . map ( Reverse ) ,
180193 ( Reverse ( m. capture ) , Reverse ( m. promotion ) ) ,
181194 )
0 commit comments