]> git.sesse.net Git - stockfish/blobdiff - src/main.cpp
When returning gRPC probes, report scores from white's perspective.
[stockfish] / src / main.cpp
index b6639f26656b6e84955e71c6815a51f1a6d34066..33a8f523da763ba9b8347e51962d0b3f350072ba 100644 (file)
@@ -53,11 +53,25 @@ public:
                TTEntry *entry = TT.probe(pos.key(), found);
                response->set_found(found);
                if (found) {
+                       Value value = entry->value();
+                       Value eval = entry->eval();
+                       Bound bound = entry->bound();
+
+                       if (pos.side_to_move() == BLACK) {
+                               value = -value;
+                               eval = -eval;
+                               if (bound == BOUND_UPPER) {
+                                       bound = BOUND_LOWER;
+                               } else if (bound == BOUND_LOWER) {
+                                       bound = BOUND_UPPER;
+                               }
+                       }
+
                        response->set_move(entry->move());
-                       response->set_value(entry->value());
-                       response->set_eval(entry->eval());
                        response->set_depth(entry->depth());
-                       response->set_bound(HashProbeResponse::ValueBound(entry->bound()));
+                       response->set_eval(eval);
+                       response->set_value(value);
+                       response->set_bound(HashProbeResponse::ValueBound(bound));
                }
                return Status::OK;
        }