I was curious about the fuss over Fruit...

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Xann
Posts: 127
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France

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

Post 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.
Xann
Posts: 127
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France

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

Post 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.
Xann
Posts: 127
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France

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

Post by Xann »

pawnslinger wrote:Do you know if Toga has multi-thread?
Seems so, I saw Toga 4 CPUs in old rating lists.

Fabien.
Xann
Posts: 127
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France

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

Post 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.
User avatar
Giorgio Medeot
Posts: 52
Joined: Fri Jan 29, 2010 2:01 pm
Location: Ivrea, Italy

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

Post 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
User avatar
M ANSARI
Posts: 3707
Joined: Thu Mar 16, 2006 7:10 pm

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

Post 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.
pawnslinger
Posts: 42
Joined: Thu Jan 06, 2011 9:10 pm
Location: Mesa, AZ USA

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

Post 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
Xann
Posts: 127
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France

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

Post 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.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

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

Post 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.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

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

Post 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?