Re: Sudoku

Ian Phillipps <[email protected]>
Newsgroups gmane.comp.lang.perl.fun
Message-ID <20050727164416.GA25679@homer>
On Wed, 27 Jul 2005 at 10:15:25 -0400, Quantum Mechanic wrote:
> 1) Not strict and warnings clean.
> 2) perl -c on 
>      if( $puzmap[$bestpos] & 1 == 0 )
> gives:
>      "Possible precedence problem on bitwise & operator at
> sudoku_ip.pl line ..."

Hmm... it's warning-clean on my 5.8.4 - what version are you using?
I turned on "use warnings 'all'" and "use strict", and all that came out
were some undeclared variables.

> The intended precedence seems to be 
>     if( ( $puzmap[$bestpos] & 1 ) == 0 )
> but this gives me:
>     "Whoops - bestpos is a given square at..."
> Changing the precedence to 
>     if( $puzmap[$bestpos] & ( 1 == 0 )
... which is always false, of course.

The code intended is:
      if( $puzmap[$bestpos] & 1 )

Wasn't much good as a diagnostic, was it? :-)

I've uploaded a revised version (1.3). This also runs faster, since I
inlined the single call to "countones", following a quick DProf run.

To be found in
    http://homepage.ntlworld.com/phillipps/sodsolve

Ian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.