Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a problem in trying to use unsigned varaibles

Author: Robert Hyatt

Date: 08:55:09 09/24/03

Go up one level in this thread


On September 24, 2003 at 07:43:33, Uri Blass wrote:

>I was told that unsigned varaibles are better to use in every case that I can do
>it.
>
>one of the varaibles that cannot get negative value is the ply of the search but
>the problem is that this varaible is connected with beta because I tell movei
>always that beta cannot be more than 9999-ply
>
>How do you solve that problem?

What is the problem?    9999-ply is fine if ply is unsigned...

However, using unsigned really is _not_ going to be faster or slower.  It is
going to be different, however.


>
>practically I was too lazy to replace all my varaibles and decided only to
>replace few varaibles and remember that rule for new varaibles.
>
>It was another varaible that I defined as unsigned and was connected with ply
>and when I got the warning
>signed/unsigned mismatch I tried to change ply to be unsigned and got more
>warning of the same kind because beta is unsigned.
>
>I can get rid of the warning by adding signed.
>
>if (beta>9999-(signed)ply)
>		beta=9999-(signed)ply;
>
>I doubt if it is a good idea and it is possible that the conversion is going to
>cost time for the computer.

There is no conversion.  A (cast) doesn't change anything, it just tells the
compiler how to use the value.  If the default is unsigned, then (signed) just
tells it to produce a signed result vs an unsigned result...  This just changes
the instruction opcode.  casting to a new type is different, such as int to
(float).  But not signed to unsigned.

>
>Uri



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.