bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] Bug: 14 point one-sided race databasewithmakebearoff.exe


From: Joern Thyssen
Subject: Re: [Bug-gnubg] Bug: 14 point one-sided race databasewithmakebearoff.exe
Date: Sun, 9 Jan 2005 20:48:35 +0000
User-agent: Mutt/1.4.2.1i

On Thu, Jan 06, 2005 at 11:40:08AM -0000, Ian Shaw wrote

> I think it's something like the 32-bit pointer in the index that's the
> problem. 

Correct.

> I don't know whether the problem is in makebearoff or gnubg,
> or both.

Both.

The one sided bearoff databases consists of a section with offsets and
sizes and another section with the actual data. When gnubg needs an
bearoff distribution it calculates the position number and looks up data
in the offset-section. It reads 8 bytes of which 4 is the offset into
the data section (hence the 32 bit problem) and four times 1 byte that
indicates the offset and size of the bearoff and gammon distribution,
respectively. 

Example:

00 12 34 56 0A 0A 05 05

so the offset into the data section is 0x00123456 bytes and the bearoff
distribution is 10 (0x0A) numbers which starts at 10 (0x0A), i.e., the
first number is the probability to bear off in 10 rolls and the last
number is the probability to bear off in 19 rolls. Similarly, the gammon
distribution has 5 numbers with an offset of 5 rolls.

In order to support databases beyond the 14pt we need to change the
offset section to accomodate 64 bit offset. It's an relatively simple
change --- unfortunately I don't have any time these days :-(

J?rn


Attachment: pgp7OEFZP8w4o.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]