diff --git a/engine/optics.c b/engine/optics.c
index bd88db9..cc18b2c 100644
|
a
|
b
|
compute_eyes_pessimistic(int pos, struct eyevalue *value, |
| 784 | 784 | signed char chainlinks[BOARDMAX]; |
| 785 | 785 | int contains_inset = 0; |
| 786 | 786 | |
| 787 | | /* Stones inside eyespace which do not coincide with a false eye or |
| 788 | | * a halfeye. |
| 789 | | */ |
| 790 | | int interior_stones = 0; |
| 791 | | |
| 792 | 787 | memset(chainlinks, 0, BOARDMAX); |
| 793 | 788 | |
| 794 | 789 | for (pos2 = BOARDMIN; pos2 < BOARDMAX; pos2++) { |
| … |
… |
compute_eyes_pessimistic(int pos, struct eyevalue *value, |
| 804 | 799 | if (is_halfeye(heye, pos2)) |
| 805 | 800 | halfeyes++; |
| 806 | 801 | } |
| 807 | | else if (IS_STONE(board[pos2])) |
| 808 | | interior_stones++; |
| 809 | 802 | |
| 810 | 803 | bulk_score += bulk_coefficients[(int) eye[pos2].neighbors]; |
| 811 | 804 | |
| … |
… |
compute_eyes_pessimistic(int pos, struct eyevalue *value, |
| 911 | 904 | DEBUG(DEBUG_EYES, " pessimistic min revised to 0\n"); |
| 912 | 905 | } |
| 913 | 906 | |
| 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 | | |
| 922 | 907 | if (contains_inset) { |
| 923 | 908 | *pessimistic_min = 0; |
| 924 | 909 | DEBUG(DEBUG_EYES, " pessimistic min revised to 0 (contains inset)\n"); |