Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a question about speed

Author: Robert Hyatt

Date: 18:50:08 01/05/03

Go up one level in this thread


On January 05, 2003 at 15:55:25, Walter Faxon wrote:

>On January 04, 2003 at 23:32:43, Robert Hyatt wrote:
>
>>On January 04, 2003 at 15:32:40, Walter Faxon wrote:
>>
>>>On January 03, 2003 at 19:52:06, Matt Taylor wrote:
>
><snip>
>
>>>>The compiler -should- recognize that 2 * to = to << 1
>>>
>>>ONLY IF 'to' is guaranteed positive.  Try:  "2 * (unsigned)to".  Or explicit
>>>shifting is always ok in my book.  Use a comment or #if'ed-out debug code if you
>>>want to keep things clear.
>>>
>>
>>I'm missing something...
>>
>>-1<<1 is the same thing as -1*2...  whether it is positive or negative does
>>not matter at all.
>
><snip>
>
>Sorry.  Leftshift always ok for integer multiply by power of 2.  It's rightshift
>for divide by power of 2 that requires an unsigned operand.  Mea culpa.
>
>-- Walter


Actually right shift is also ok if the initial value is <= -2...  :)




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.