Page 2 of 4

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 12:33 pm
by Xann
notyetagm wrote:Yes, the father of all modern strong chess engines: Fruit 2.1
So the common knowledge of CC:
- min-max
- alpha-beta
- ... (insert decades of research here)
- Fruit 2.1
- StockFish?

Fabien.

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 12:38 pm
by Xann
pawnslinger wrote:One of the desireable feautres is tablebase support, which 2.1 lacks.
There is a reason for that.
EGTB access from Eugene Nalimov and Andrew Kadatch is not free software.

Fabien.

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 12:41 pm
by Xann
pawnslinger wrote:Do you know if Toga has multi-thread?
Seems so, I saw Toga 4 CPUs in old rating lists.

Fabien.

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 12:46 pm
by Xann
pawnslinger wrote:then I Googled Fruit and download the source code package for 2.1. Man, that is one well written piece of code!! Fabien hasn't touched it in years and Code::Blocks compiled it almost error free. It only complained about some printf format strings, which I fixed in about 2 seconds. Loaded it into Chessbase and... wam bam thank you mam, it works flawlessly.
Thanks for your kind words!

Can you show me one of the bugs?
%ll related perhaps?

Fabien.

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 4:16 pm
by Giorgio Medeot
Xann wrote:
pawnslinger wrote:One of the desireable feautres is tablebase support, which 2.1 lacks.
There is a reason for that.
EGTB access from Eugene Nalimov and Andrew Kadatch is not free software.

Fabien.
Should you be willing to add EGTB, maybe you could take a look at the Gaviota Tablebases: http://sites.google.com/site/gaviotache ... blebases-1
  • Giorgio

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 6:41 pm
by M ANSARI
Fabien, since you are on the forums again and seem interested in CC again ... how about some more of your super squeaky clean code with MP support and of course Gaviota TB support :D. Also maybe add some of the new search tricks that allow heavy pruning with limited penalty.

Re: I was curious about the fuss over Fruit...

Posted: Thu Jan 27, 2011 8:30 pm
by pawnslinger
Xann wrote:
pawnslinger wrote:then I Googled Fruit and download the source code package for 2.1. Man, that is one well written piece of code!! Fabien hasn't touched it in years and Code::Blocks compiled it almost error free. It only complained about some printf format strings, which I fixed in about 2 seconds. Loaded it into Chessbase and... wam bam thank you mam, it works flawlessly.
Thanks for your kind words!

Can you show me one of the bugs?
%ll related perhaps?

Fabien.
There were about 4 places that I had to fix. This is an example. It is from the file util.h...

#ifdef _MSC_VER
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016I64X"
#else
// # define S64_FORMAT "%lld"
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016llX"
#endif

You can see the part that I commented out and below that added a new line. The MinGW compiler did not like the "%lld", but it was happy as a clam with the I64 specifier.

Sincerely,
Ed

Re: I was curious about the fuss over Fruit...

Posted: Fri Jan 28, 2011 2:42 pm
by Xann
pawnslinger wrote:There were about 4 places that I had to fix. This is an example. It is from the file util.h...

#ifdef _MSC_VER
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016I64X"
#else
// # define S64_FORMAT "%lld"
# define S64_FORMAT "%I64d"
# define U64_FORMAT "%016llX"
#endif

You can see the part that I commented out and below that added a new line. The MinGW compiler did not like the "%lld", but it was happy as a clam with the I64 specifier.
Do you know why your compiler accepts %016llX but not %lld?
This looks inconsistent to me.

Fabien.

Re: I was curious about the fuss over Fruit...

Posted: Fri Jan 28, 2011 3:25 pm
by hgm
pawnslinger wrote:There were about 4 places that I had to fix. This is an example. It is from the file util.h...
Be careful with this! We had a similar problem in WinBoard. The MINGW compile produces warnings. 'Fixing' it so that the warnings go away actually breaks the code: it will no longer run properly!

The problem is a mismatch between what the printf routines in the MicroSoft run-time system (with which MINGW links) actually do, and what GCC thinks they do (ANSI standard). Passing the proper ANSI format (to make the warnings go away) makes the run-time printing fail, because the printf routines will be fed formats they do not understand. And often the latter is not obvious, because IIRC the symptoms are to ignore the high word of the int64, (which is usually zero) and all following things to be printed out of phase.

Re: I was curious about the fuss over Fruit...

Posted: Fri Jan 28, 2011 4:09 pm
by Evert
I'm slightly confused. I've never seen any source give anything other than %lld as the format specifier for a "long long" integer. When I fed my code to MinGW, it didn't actually complain about the occurrences of %lld in the code either.
Am I missing something?