[Top][All Lists]

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

Re: [gnugo-devel] GNU Go 3.5.5.

From: Arend Bayer
Subject: Re: [gnugo-devel] GNU Go 3.5.5.
Date: Fri, 16 Apr 2004 02:00:50 +0200 (CEST)

> > However, I think we have enough known possible sources of platform
> > dependence, see the patches in the branch for SPEC.
> Could you summarize these?

I don't remember any details, but here is an excerpt of the ChangeLog

- floating point rounding problem solved in compute_surrounding_moyo_sizes()
- floating point rounding problem solved in value_move_reasons()
- fix potential floating point rounding errors in surround.c
- fixed point integer arithmetic for accumulate_influence()
- floating point computations in readconnect.c converted to fixed point

Basically, since we do not demand IEEE-compliant floating point
arithmetics from the compiler (and I don't think we should), the exact
result of many computations will depend on optimizations chosen by the
compiler. (IIRC, storing a variable from register to memory truncates the
value on x86 from 80 bit to 64bit.) So decisions based on floating point
comparisons are dangerous.

All the .999 and .001-values in readconnect.c are tries to avoid these
problems, but I don't think they are complete. Actually I have some
doubts whether it is worth bothering to be complete.

I don't remember whether any of the patches above got applied to the
mainline, but I believe not, and searching for "floating point" in the
current ChangeLog agrees with that.


reply via email to

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