compiling glaurung

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Uri Blass
Posts: 8335
Joined: Wed Mar 08, 2006 11:37 pm
Location: Tel-Aviv Israel

Re: compiling glaurung

Post by Uri Blass » Mon Jul 16, 2007 1:14 pm

wgarvin wrote:Visual C++ 6 is pretty old, and notorious for not being able to compile code that works fine on other compilers.

You could try one of the free versions of MSVC 2005, they are much better: http://msdn.microsoft.com/vstudio/express/downloads/
I tried to download it on a different computer and I see that I have problems in compiling glaurung

I get again and again
"fatal error C1083: Cannot open include file: 'windows.h': No such file or directory"

I thought that maybe not installing the Microsoft Platform SDK was the problem but after installing it I simply do not understand exactly what to do in step 3 in the following link:

http://msdn.microsoft.com/vstudio/expre ... usingpsdk/

Step 3: Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box.

Uri

User avatar
Eelco de Groot
Posts: 4029
Joined: Sun Mar 12, 2006 1:40 am
Location: Groningen

Re: compiling glaurung

Post by Eelco de Groot » Mon Jul 16, 2007 4:58 pm

Uri Blass wrote:
wgarvin wrote:Visual C++ 6 is pretty old, and notorious for not being able to compile code that works fine on other compilers.

You could try one of the free versions of MSVC 2005, they are much better: http://msdn.microsoft.com/vstudio/express/downloads/
I tried to download it on a different computer and I see that I have problems in compiling glaurung

I get again and again
"fatal error C1083: Cannot open include file: 'windows.h': No such file or directory"

I thought that maybe not installing the Microsoft Platform SDK was the problem but after installing it I simply do not understand exactly what to do in step 3 in the following link:

http://msdn.microsoft.com/vstudio/expre ... usingpsdk/

Step 3: Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box.

Uri
Hello Uri,

I think I could attempt to answer that one, in case the GUI can't find the directories yet, in the GUI go to Tools -> Options -> Tab 'Projects and Solutions'

Choose your platform and 'Show directories for' for the three types of files and add the path to the SDK files in the window beneath it. I think I did something similar installing Visual C++ 2005. The paths are probably shortened automatically using the path variable.

Feels great to actually know something about this! Haven't got much further than this yet...

Step 4 and 5 should follow. Then you can try open and compile a project. With Visual C++ 2005 there was an example project to compile but this thing crashed Windows repeatedly. I don't see any project mentioned here though, just any project of your own is mentioned if I read it right.

In the Help pages there is a better example I think, some project with a cardgame example, cardgame.vcproj I think it was called. Just the basic first variable initialization etc. Look for 'Getting Started' in the Help pages. But as I said, I haven't gotten further yet.

Regards, Eelco

Dann Corbit
Posts: 9334
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: compiling glaurung

Post by Dann Corbit » Mon Jul 16, 2007 7:18 pm

You can get a much better free one here:
http://msdn.microsoft.com/vstudio/express/

Also for programming under Windows, GCC under MINGW is a worthy competitor.
MINGW here:
http://www.mingw.org/download.shtml
Unfortunately, a fossil GCC ships with Mingw. However, some cool cat has made us a good one (4.3 even). Recent GCC download is here:
http://www.thisiscool.com/gcc_mingw.htm

Dann Corbit
Posts: 9334
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: compiling glaurung

Post by Dann Corbit » Mon Jul 16, 2007 7:22 pm

Roman Hartmann wrote:
Uri Blass wrote:
wgarvin wrote:Visual C++ 6 is pretty old, and notorious for not being able to compile code that works fine on other compilers.

You could try one of the free versions of MSVC 2005, they are much better: http://msdn.microsoft.com/vstudio/express/downloads/
I believe that I downloaded in the past this compiler but I am simply not sure if I use it correctly and I did not get step by step instructions what to do.

I started by
file->new->project->empty project and simply try to add existing items to the project when I am not sure if I need to add all the h file as header files and I am not sure what is the meaning of resource file(I know only about source files and header files)

I see now that there is an option
file->new-project from existing files but unfortunately I do not know how to use it because the computer asks me too many questions that I do not know to answer and I do not like to guess by try and error

first question is
how do you want to build the project
(I guess that I should answer console application project) but then
I get the question:
what setting do you want for the debug configuration and I simply have no idea what to reply.

Uri
Hi Uri,
just create a new project and then choose console application and empty project. You can then add existing sources to that project.

Usually I use the compiler from the commandline though. If I remember correctly I didn't even had to set any paths as it was automatically done during install.

Roman
If you use any Windows specific API calls (such as threading calls), you have to install the Windows SDK and also set the include and lib paths to include the location where you installed the SDK. It is pretty strange that it does not happen automatically, but that is how they decided to do it.

If you use only ANSI C calls, then you don't have to worry about it.

Uri Blass
Posts: 8335
Joined: Wed Mar 08, 2006 11:37 pm
Location: Tel-Aviv Israel

Re: compiling glaurung

Post by Uri Blass » Tue Jul 17, 2007 10:36 am

Eelco de Groot wrote:
Uri Blass wrote:
wgarvin wrote:Visual C++ 6 is pretty old, and notorious for not being able to compile code that works fine on other compilers.

You could try one of the free versions of MSVC 2005, they are much better: http://msdn.microsoft.com/vstudio/express/downloads/
I tried to download it on a different computer and I see that I have problems in compiling glaurung

I get again and again
"fatal error C1083: Cannot open include file: 'windows.h': No such file or directory"

I thought that maybe not installing the Microsoft Platform SDK was the problem but after installing it I simply do not understand exactly what to do in step 3 in the following link:

http://msdn.microsoft.com/vstudio/expre ... usingpsdk/

Step 3: Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box.

Uri
Hello Uri,

I think I could attempt to answer that one, in case the GUI can't find the directories yet, in the GUI go to Tools -> Options -> Tab 'Projects and Solutions'

Choose your platform and 'Show directories for' for the three types of files and add the path to the SDK files in the window beneath it. I think I did something similar installing Visual C++ 2005. The paths are probably shortened automatically using the path variable.

Feels great to actually know something about this! Haven't got much further than this yet...

Step 4 and 5 should follow. Then you can try open and compile a project. With Visual C++ 2005 there was an example project to compile but this thing crashed Windows repeatedly. I don't see any project mentioned here though, just any project of your own is mentioned if I read it right.

In the Help pages there is a better example I think, some project with a cardgame example, cardgame.vcproj I think it was called. Just the basic first variable initialization etc. Look for 'Getting Started' in the Help pages. But as I said, I haven't gotten further yet.

Regards, Eelco
Thanks but I still have problems because I am not sure what to do after
Tools -> Options -> Tab 'Projects and Solutions' because I can see 3 directories but I cannot see the words Executable file,Include file Library files.

I see instead of them the words:
visual studio project location
visual studio user project templates location
visual studio user item templates location

I can put the relevant directory in this place but I do not like to try something that it is not clear that it is going to work.

Edit I hope that the problem is solved and it seems that I need to go to VC++ directories and there I have the show directories

Uri

Uri Blass
Posts: 8335
Joined: Wed Mar 08, 2006 11:37 pm
Location: Tel-Aviv Israel

Re: compiling glaurung

Post by Uri Blass » Tue Jul 17, 2007 11:03 am

It works for me and I compiled glaurung with no problem with that compiler

User avatar
Eelco de Groot
Posts: 4029
Joined: Sun Mar 12, 2006 1:40 am
Location: Groningen

Re: compiling glaurung

Post by Eelco de Groot » Fri Jul 20, 2007 5:30 am

Very good Uri!

I tried to make a compile of Glaurung Lodz 2007 too, using Visual C++ 2005, - the thing sometimes still crashes Windows here if I inadvertently open a .cpp file I should have wanted opened in an editor, not in the IDE, maybe it is the debugger at fault or something?- just from scratch, without changing anything default in the compiler as I don't know much about the possible options, and not using Tord's makefile, but not everything seemed to go as intended I think.

I got no errors, that is good! :) But 180 warnings, most have to do with bitboards converted for some reason to Boolean variables of type int? :?

The first executable does not crash however, and I was sure glad of that! The output I get is still very slow, could that be because bitboards are not working? It is also suspiciously small, 438.272 bytes, where Denis' version is 675.840 bytes,

I must be doing something wrong I think, as the compiler options could not likely slow GLaurung down a factor of 22 times. All nodecounts and PV in initial position seem to be okay though. Without functioning bitboards, would there still be correct output?

Output:
00:00:00.3 0,11 2 46 Nf3 Nf6
00:00:00.3 0,54 3 185 Nf3 Nf6 Nc3
00:00:00.3 0,11 4 378 Nf3 Nf6 Nc3 Nc6
00:00:00.4 0,15 5 796 Nf3 Nf6 Nc3 Nc6 d3
00:00:00.5 0,11 6 1633 Nf3 Nf6 Nc3 Nc6 d3 d6
00:00:00.7 0,25 7 4102 Nf3 Nf6 Nc3 Nc6 e3 d6 Bd3
00:00:01.0 0,11 8 7288 Nf3 Nf6 Nc3 Nc6 e3 e6 Bd3 Bc5
00:00:03.0 0,56 9 24637 Nf3 Nf6 Nc3 Nc6 e3 Nb4 Ne5 Nc6 Nxc6 bxc6
00:00:04.9 0,11 10 41380 Nf3 Nf6 Nc3 Nc6 e3 e6 Bd3 Bc5 O-O O-O
00:00:15.8 0,37 11 138782 Nf3 Nf6 Nc3 Nc6 e3 e6 Bd3 Bd6 O-O O-O Ng5
00:00:29.1 0,29 12 258514 Nf3 Nf6 Nc3 Nc6 e3 e6 Bd3 Bc5 O-O O-O Ng5 d5
00:01:06.5 0,21 13 584435 Nf3 Nf6 Nc3 Nc6 d4 e6 e4 Bb4 Bd3 O-O O-O d5 exd5 exd5
00:02:35.5 0,25 14 1340223 Nf3 Nf6 Nc3 Nc6 d4 e6 e4 Bb4 Bd3 O-O O-O d5 exd5 exd5 Bf4 Bxc3 bxc3
00:06:44.3 0,15 15 3509082 Nf3 Nf6 Nc3 d5 e3 e6 d4 Nc6 Bd3 Be7 O-O O-O Bd2 Nb4 Bb5
00:15:23.0 0,11 16 8024776 Nf3 Nf6 Nc3 d5 e3 e6 d4 Nc6 Bb5 Bd6 Ne5 Bxe5 dxe5 Nd7 O-O Ndxe5 Bd2

The regular build Glaurung Lodz 2007 goes to 16 ply in 40.7 seconds...

Some of the compiler warning messages I got, sorry for the long output file:

Compiling...
benchmark.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
bitbase.cpp
bitboard.cpp
book.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\book.cpp(363) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\book.cpp(509) : warning C4244: '=' : conversion from 'uint64' to 'uint16', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\book.cpp(510) : warning C4244: '=' : conversion from 'uint64' to 'uint16', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\book.cpp(511) : warning C4244: '=' : conversion from 'uint64' to 'uint16', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\book.cpp(512) : warning C4244: '=' : conversion from 'uint64' to 'uint16', possible loss of data
color.cpp
direction.cpp
endgame.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
evaluate.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(608) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(609) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(610) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(623) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(624) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\evaluate.cpp(625) : warning C4244: 'argument' : conversion from 'Bitboard' to 'int', possible loss of data
history.cpp
main.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\main.cpp(50) : warning C4996: 'setbuf': This function or variable may be unsafe. Consider using setvbuf instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\stdio.h(301) : see declaration of 'setbuf'
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\main.cpp(51) : warning C4996: 'setbuf': This function or variable may be unsafe. Consider using setvbuf instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\stdio.h(301) : see declaration of 'setbuf'
material.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\material.cpp(176) : warning C4244: 'initializing' : conversion from 'Key' to 'int', possible loss of data
mersenne.cpp
misc.cpp
move.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
movegen.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
movepick.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
pawns.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\pawns.cpp(291) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\pawns.cpp(314) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\pawns.cpp(318) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
piece.cpp
position.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(546) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(548) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(550) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(576) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(584) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(592) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(598) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(625) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.cpp(1630) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
san.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\san.cpp(183) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\san.cpp(270) : warning C4267: '+=' : conversion from 'size_t' to 'int', possible loss of data
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\san.cpp(275) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
Generating Code...
Compiling...
search.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\search.cpp(292) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\search.cpp(1763) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\string.h(74) : see declaration of 'strcpy'
square.cpp
test.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\test.cpp(366) : warning C4800: 'uint32' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\test.cpp(517) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
timeoday.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\timeoday.cpp(21) : warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 8\vc\include\time.inl(114) : see declaration of 'localtime'
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\timeoday.cpp(22) : warning C4244: '=' : conversion from 'time_t' to 'long', possible loss of data
tt.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
uci.cpp
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(341) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(566) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(570) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(574) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(578) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(582) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(586) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(590) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\position.h(602) : warning C4800: 'Bitboard' : forcing value to bool 'true' or 'false' (performance warning)
c:\program files\shredderchess\shredder 9 uci\engines\glaurunglodz\src\uci.cpp(122) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
ucioption.cpp
value.cpp
Generating Code...
Compiling manifest to resources...
Linking...
Embedding manifest...
Results Build log was saved at "..\Mijn documenten\Visual Studio 2005\Projects\Glaurung Lodz\Glaurung Lodz\Debug\BuildLog.htm"
Glaurung Lodz - 0 error(s), 180 warning(s)

If somebody could give me some hints, I would appreciate it very much!

Eelco

Vempele

Re: compiling glaurung

Post by Vempele » Fri Jul 20, 2007 6:47 am

Eelco de Groot wrote:I must be doing something wrong I think, as the compiler options could not likely slow GLaurung down a factor of 22 times.
Results Build log was saved at "..\Mijn documenten\Visual Studio 2005\Projects\Glaurung Lodz\Glaurung Lodz\Debug\BuildLog.htm"
Try changing Debug to Release; it's next to the green triangle near the top of the window.

Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 8:19 pm
Location: Oslo, Norway

Re: compiling glaurung

Post by Tord Romstad » Fri Jul 20, 2007 7:15 am

Eelco de Groot wrote:Very good Uri!

I tried to make a compile of Glaurung Lodz 2007 too, using Visual C++ 2005, - the thing sometimes still crashes Windows here if I inadvertently open a .cpp file I should have wanted opened in an editor, not in the IDE, maybe it is the debugger at fault or something?- just from scratch, without changing anything default in the compiler as I don't know much about the possible options, and not using Tord's makefile, but not everything seemed 8to go as intended I think.

I got no errors, that is good! :) But 180 warnings, most have to do with bitboards converted for some reason to Boolean variables of type int? :?
The warnings are caused by code like this:

Code: Select all

inline bool Position::pawn_is_doubled(Color c, Square s) const {
  return this->pawns_of_color(c) & squares_behind(c, s);
}
In this function, this->pawns_of_color(c) and squares_behind(c, s) are two bitboards, and doing a bitwise and ('&') between the two bitboards gives a third bitboard. But because the return type of the function is 'bool', this bitboard must be coerced to a boolean (a zero bitboard will become 'false', and any nonzero bitboard will become 'true'). This is an expensive operation, which is why your compiler gives a "performance warning".

I think these warnings can be safely ignored. All these little boolean functions are inlined, and the compiler should be able to deduce from the context that it doesn't need to do the coercion to 'bool', because the return value is usually only used as the condition in an 'if' statement.

It would probably be possible to avoid all these warnings by changing all these functions to return bitboards rather than booleans, but I prefer using booleans because it seems more conceptually correct. My own compilers (GCC and the Intel compiler) don't emit these warnings.
The first executable does not crash however, and I was sure glad of that! The output I get is still very slow, could that be because bitboards are not working?
No, it is almost certainly because you have generated a executable in debug mode.

Tord

User avatar
Eelco de Groot
Posts: 4029
Joined: Sun Mar 12, 2006 1:40 am
Location: Groningen

Re: compiling glaurung

Post by Eelco de Groot » Fri Jul 20, 2007 7:32 am

Vempele wrote:
Eelco de Groot wrote:I must be doing something wrong I think, as the compiler options could not likely slow GLaurung down a factor of 22 times.
Results Build log was saved at "..\Mijn documenten\Visual Studio 2005\Projects\Glaurung Lodz\Glaurung Lodz\Debug\BuildLog.htm"
Try changing Debug to Release; it's next to the green triangle near the top of the window.
Thanks Teemu! That did'm the trick! Now I achieved an instant "Hit Release Build" button speedup of 65 times! Don't need to buy a new Quad-computer! How much elo would that be?

The factor 22 I mentioned was not correct, Dennis' default build of Glaurung Lodz goes to 16 plies in 11.8 seconds, the Visual C++ 2005 first release build with default compiler options does that in 14.1 secs, where the debugging version needed 15 minutes 23 seconds. So I am not complaining, and everything seems to be working fine.

64 MB hashtables on Athlon 2009 MHz, Lokasoft ChessPartner 5.3 GUI.

Vrooommm Regards!
Eelco

Post Reply