LCOV - code coverage report
Current view: top level - Source - evalTools.hpp (source / functions) Coverage Total Hit
Test: coverage Lines: 100.0 % 15 15
Test Date: 2026-03-02 16:42:41 Functions: 100.0 % 10 10

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : #include "definition.hpp"
       4              : #include "attack.hpp"
       5              : #include "bitboard.hpp"
       6              : #include "bitboardTools.hpp"
       7              : 
       8              : template<Piece T, Color C>
       9              : FORCE_FINLINE void evalMob(const Position &p, BitBoard pieceBBiterator, EvalScore &score, const BitBoard safe, const BitBoard occupancy, uint16_t & mobility) {
      10     41492254 :    BB::applyOn(pieceBBiterator, [&](const Square & k){
      11     11254634 :       const uint16_t mob = BB::countBit(BBTools::pfCoverage[T - 1](k, occupancy, C) & ~p.allPieces[C] & safe);
      12     11254634 :       mobility += mob;
      13     12516043 :       score += EvalConfig::MOB[T - 2][mob] * ColorSignHelper<C>();
      14              :    });
      15              : }
      16              : 
      17              : template<Color C>
      18              : FORCE_FINLINE void evalMobQ(const Position &p, BitBoard pieceBBiterator, EvalScore &score, const BitBoard safe, const BitBoard occupancy, uint16_t & mobility) {
      19     13249650 :    BB::applyOn(pieceBBiterator, [&](const Square & k){
      20      3460994 :       uint16_t mob = BB::countBit(BBTools::coverage<P_wb>(k, occupancy, C) & ~p.allPieces[C] & safe);
      21      3460994 :       mobility += mob;
      22      3909630 :       score += EvalConfig::MOB[3][mob] * ColorSignHelper<C>();
      23      3460994 :       mob = BB::countBit(BBTools::coverage<P_wr>(k, occupancy, C) & ~p.allPieces[C] & safe);
      24      3460994 :       mobility += mob;
      25      3909630 :       score += EvalConfig::MOB[4][mob] * ColorSignHelper<C>();
      26              :    });
      27              : }
      28              : 
      29              : template<Color C>
      30              : FORCE_FINLINE void evalMobK(const Position &p, BitBoard pieceBBiterator, EvalScore &score, const BitBoard safe, const BitBoard occupancy, uint16_t & mobility) {
      31     18982986 :    BB::applyOn(pieceBBiterator, [&](const Square & k){
      32      6327662 :       const uint16_t mob = BB::countBit(BBTools::coverage<P_wk>(k, occupancy, C) & ~p.allPieces[C] & safe);
      33      6327662 :       mobility += mob;
      34      7124630 :       score += EvalConfig::MOB[5][mob] * ColorSignHelper<C>();
      35              :    });
      36              : }
        

Generated by: LCOV version 2.0-1