On Thu 02 Oct 2003 (22:21 +0200), Holger wrote:
> At 02:09 01.10.2003, Jim Segrave wrote:
>
> > > Does someone know why getMatchPoints() does this and whether this is
> > > intended?
> >
> >I can't reproduce this.
>
> Here is an example:
> Attached is a game with one wrong double and a missed double. To
reproduce:
> run gnubg in gdb, set a breakpoint just after line 311 (the call to
> getMatchPoints), load the attached game, and invoke Analyse/Session
statistics.
> Here this gives for the wrong double (the first decision):
>
> (gdb) p aaarPointsMatch
> $2 = {{{0.26412797, 0.225260854}, {0.49239853, 0.49239853},
> {0.720825553, 0.785499096}, {0.969819069, 0.785499096}},
> {{0.279174447, 0.214500904}, {0.507601678, 0.507601678},
> {0.73587203, 0.774739146}, {0.984015822, 0.774739146}}}
>
> Analyse/Market window (GUI version) with the wrong double selected gives:
> Market window for player pl0
> Dead cube Fully live
> TP 26.413% 21.450%
> DP 49.240% 49.240%
> CP 72.083% 77.474%
> TG 96.982% 77.474%
>
> Market window for player pl1
> Dead cube Fully live
> TP 27.917% 22.526%
> DP 50.760% 50.760%
> CP 73.587% 78.550%
> TG 98.402% 78.550%
Hmm - zadeh MET gives me:
which matches the aaarPointsMatch
I did the same with the Woolsey, mec25 and Jacobs Trice Mets, none of
which gave exactly your results, but none showing your error either.
What system are you running and what version of gcc and which compiler
flags? This has that awful look of an FPU/optimiser error, similar to
the 3d board one on the MAC. The code just after the call to
getMatchPoints() in gtktheory.c is too simple to allow re-ordering of
the array elements unless either there's a problem with results being
left in the FPU or perhaps a register corruption.