Ticket #209: gunnar_7_13.10.diff

File gunnar_7_13.10.diff, 1.3 KB (added by gunnar, 3 years ago)

Revision of compute_eyes_pessimistic().

  • engine/optics.c

    diff --git a/engine/optics.c b/engine/optics.c
    index bd88db9..cc18b2c 100644
    a b compute_eyes_pessimistic(int pos, struct eyevalue *value, 
    784784  signed char chainlinks[BOARDMAX]; 
    785785  int contains_inset = 0; 
    786786 
    787   /* Stones inside eyespace which do not coincide with a false eye or 
    788    * a halfeye. 
    789    */ 
    790   int interior_stones = 0; 
    791  
    792787  memset(chainlinks, 0, BOARDMAX); 
    793788 
    794789  for (pos2 = BOARDMIN; pos2 < BOARDMAX; pos2++) { 
    compute_eyes_pessimistic(int pos, struct eyevalue *value, 
    804799      if (is_halfeye(heye, pos2)) 
    805800        halfeyes++; 
    806801    } 
    807     else if (IS_STONE(board[pos2])) 
    808       interior_stones++; 
    809802 
    810803    bulk_score += bulk_coefficients[(int) eye[pos2].neighbors]; 
    811804 
    compute_eyes_pessimistic(int pos, struct eyevalue *value, 
    911904    DEBUG(DEBUG_EYES, "  pessimistic min revised to 0\n"); 
    912905  } 
    913906 
    914   /* An eyespace with at least two interior stones is assumed to be 
    915    * worth at least one eye, regardless of previous considerations. 
    916    */ 
    917   if (*pessimistic_min < 1 && interior_stones >= 2) { 
    918     *pessimistic_min = 1; 
    919     DEBUG(DEBUG_EYES, "  pessimistic min revised to 1 (interior stones)\n"); 
    920   } 
    921  
    922907  if (contains_inset) { 
    923908    *pessimistic_min = 0; 
    924909    DEBUG(DEBUG_EYES, "  pessimistic min revised to 0 (contains inset)\n");