On Tue, 03 Apr 2007, Antonio Hobmeir Neto via RT wrote:
Show quoted text
Show quoted text> DB<2> c 175
> Games::Tournament::Swiss::Procedure::FIDE::next(/usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm:175):
> 175: return LAST if $index >= $#$groups;
> DB<3> c 175
> Next, Bracket 1: 1 2 3 4 5 6
> C1, B1,2 test: ok, no unpairables
> C2, x=1
> C3, p=3 Homogeneous.
> C4, S1 & S2: 1 2 3 & 4 5 6
> C5, ordered: 1 2 3 & 4 5 6
> C6, 3 tables paired. E1 4&1 E1 2&5 E1 6&3
> C6others: no non-paired players
> Games::Tournament::Swiss::Procedure::FIDE::next(/usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm:175):
> 175: return LAST if $index >= $#$groups;
> DB<4> x 2 $args{matches}
> 0 ARRAY(0x83ed49c)
> 0 ARRAY(0x87a1be4)
This looks good.
Show quoted text> DB<5> x 3 $args{matches}
> 0 ARRAY(0x83ed49c)
> 0 ARRAY(0x87a1be4)
> 0 Games::Tournament::Card=HASH(0x83eec3c)
> 1 Games::Tournament::Card=HASH(0x87a1d34)
> 2 Games::Tournament::Card=HASH(0x84f571c)
> Dx 4 $args{matches}
That line is strange. It looks like it didn't finish before
starting to the next command. Is this how it appeared before you
copied it?
It looks like the debugger is mangling the line.
Show quoted text> Number found where operator expected at (eval
> 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2, near "matx 4"
> at (eval 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2
> eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package
> Games::Tournament::Swiss::Procedure::FIDE; $^D = $^D | $DB::db_stop;
> $args{matx 4 $args{matches};
Show quoted text> ;' called at /usr/share/perl/5.8/perl5db.pl line 628
> DB::eval called at /usr/share/perl/5.8/perl5db.pl line 3410
> DB::DB called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 175
> Games::Tournament::Swiss::Procedure::FIDE::next('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)',
> 'byes', 'undef', 'matches', 'ARRAY(0x83ed49c)', 'round', 1,
> 'brackets', 'ARRAY(0x855d5f4)', ...) called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 149
> Games::Tournament::Swiss::Procedure::FIDE::matchPlayers('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)')
> called at ./pair line 128
> (Do you need to predeclare matx?)
> at (eval 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2
> eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package
> Games::Tournament::Swiss::Procedure::FIDE; $^D = $^D | $DB::db_stop;
> $args{matx 4 $args{matches};
Show quoted text> ;' called at /usr/share/perl/5.8/perl5db.pl line 628
> DB::eval called at /usr/share/perl/5.8/perl5db.pl line 3410
> DB::DB called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 175
> Games::Tournament::Swiss::Procedure::FIDE::next('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)',
> 'byes', 'undef', 'matches', 'ARRAY(0x83ed49c)', 'round', 1,
> 'brackets', 'ARRAY(0x855d5f4)', ...) called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 149
> Games::Tournament::Swiss::Procedure::FIDE::matchPlayers('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)')
> called at ./pair line 128
> Scalar found where operator expected at (eval
> 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2, near "4 $args"
> at (eval 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2
> eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package
> Games::Tournament::Swiss::Procedure::FIDE; $^D = $^D | $DB::db_stop;
> $args{matx 4 $args{matches};
Show quoted text> ;' called at /usr/share/perl/5.8/perl5db.pl line 628
> DB::eval called at /usr/share/perl/5.8/perl5db.pl line 3410
> DB::DB called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 175
> Games::Tournament::Swiss::Procedure::FIDE::next('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)',
> 'byes', 'undef', 'matches', 'ARRAY(0x83ed49c)', 'round', 1,
> 'brackets', 'ARRAY(0x855d5f4)', ...) called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 149
> Games::Tournament::Swiss::Procedure::FIDE::matchPlayers('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)')
> called at ./pair line 128
> (Missing operator before $args?)
> at (eval 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2
> eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package
> Games::Tournament::Swiss::Procedure::FIDE; $^D = $^D | $DB::db_stop;
> $args{matx 4 $args{matches};
Show quoted text> ;' called at /usr/share/perl/5.8/perl5db.pl line 628
> DB::eval called at /usr/share/perl/5.8/perl5db.pl line 3410
> DB::DB called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 175
> Games::Tournament::Swiss::Procedure::FIDE::next('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)',
> 'byes', 'undef', 'matches', 'ARRAY(0x83ed49c)', 'round', 1,
> 'brackets', 'ARRAY(0x855d5f4)', ...) called at
> /usr/local/share/perl/5.8.7/Games/Tournament/Swiss/Procedure/FIDE.pm
> line 149
> Games::Tournament::Swiss::Procedure::FIDE::matchPlayers('Games::Tournament::Swiss::Procedure=HASH(0x84f526c)')
> called at ./pair line 128
> syntax error at (eval 20)[/usr/share/perl/5.8/perl5db.pl:628] line 2,
> near "matx 4"
I don't know why you are getting this output.
Show quoted text> DB<8> x 5 $args{matches}
> 0 ARRAY(0x83ed49c)
> 0 ARRAY(0x87a1be4)
> 0 Games::Tournament::Card=HASH(0x83eec3c)
> 'contestants' => HASH(0x84f57ac)
> 'Black' => Games::Tournament::Contestant::Swiss=HASH(0x84f4c48)
> 'White' => Games::Tournament::Contestant::Swiss=HASH(0x85e3cfc)
> 'floats' => HASH(0x86cf49c)
> 'Black' => undef
> 'White' => undef
> 'result' => undef
> 'round' => 1
> 1 Games::Tournament::Card=HASH(0x87a1d34)
> 'contestants' => HASH(0x8773fe4)
> 'Black' => Games::Tournament::Contestant::Swiss=HASH(0x84f4df8)
> 'White' => Games::Tournament::Contestant::Swiss=HASH(0x84f4cd8)
> 'floats' => HASH(0x87a1c14)
> 'Black' => undef
> 'White' => undef
> 'result' => undef
> 'round' => 1
> 2 Games::Tournament::Card=HASH(0x84f571c)
> 'contestants' => HASH(0x84f5710)
> 'Black' => Games::Tournament::Contestant::Swiss=HASH(0x84f4d68)
> 'White' => Games::Tournament::Contestant::Swiss=HASH(0x84f4e88)
> 'floats' => HASH(0x87a1ae8)
> 'Black' => undef
> 'White' => undef
> 'result' => undef
> 'round' => 1
x 5 $args{matches} looks okay. I wonder if it is connected to the
odd and even number of entrants.
I have uploaded a new version, 0.04 to CPAN. Can you try
installing that and seeing how the tests run. It may take some
time for it to become available.
In particular, if you can find
Games-Tournament-Swiss-0.04/t/pairing4.t, and run 'prove -t
t/pairing' in the Games-Tournament-Swiss-0.04 directory, we can
see if we still have the problem.
I changed the format of the score files from pairingnumber: score
to name: result.
Eg:
---
'Antonio, Hobmeir Neto': Draw
'Tiago, Vignatti': Draw
'Bruno, Ribas': Draw
'Paulo, Zanoni': Draw
--
Greg Matheson In theory, theory and practice are the same thing.
In practice, they are different.
--Jan LA van de Snepscheut
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.