Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bizar Question for programmers: very strange behaviour of my engine

Author: Robert Hyatt

Date: 11:57:02 01/17/06

Go up one level in this thread


On January 17, 2006 at 06:36:20, JW de Kort wrote:

>On January 16, 2006 at 20:13:19, Robert Hyatt wrote:
>
>>On January 16, 2006 at 16:16:13, JW de Kort wrote:
>>
>>>Hi all,
>>>
>>>In my engine i want to use the following line:
>>>
>>>    !(bfZwart[kol+1]&bfBoven[rij])
>>>
>>>In only a few cases this lines crashes my engine. If i change the +1 to any
>>>other value there is no problem!
>>>
>>>Does anybody know were i have to look for to solve this problem? I do not
>>>understand how a comparison like the above can cause a program to crash.
>>>
>>>regards
>>>Jan Willem
>>
>>also "&" is the bitwise AND operator I assume you understand?  So you are ANDing
>>two values, and the result should be zero to satisfy that condition...
>>
>>How are bfZwart and bfBoven declared???
>
>That is correct.

>
>
>unsigned char bfZwart [10]
>bfBoven unsigned char [8]
>
>This code is part of the passer detection routine.


I can't see any way it would crash so long as this is true:

-1 <= kol < 9

that way kol+1 will be between 0 and 9 and perfectly legal  Any other value and
you are indexing out of the array on either end, which can be trouble.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.