available on its usual web page, www.koziol.home.pl/rodent
This version will probably stay for a while, as I will have insane amount of work in March. It's not much stronger than 0.11, but should be a bit more careful tactically.
Changes:
- some restructuring
- smarter time management (probably the most helpful modification)
- LMR code tweaked and simplified, history restriction enabled
- first draft of weakening code (may be enabled by #defines)
- loose pieces of endgame knowledge
Currently only the 32-bit compile is available, so I hope for some help
For the coming month I expect only to add more endgame stuff and release it as developement snapshots.
Rodent 0.12
Moderators: hgm, Rebel, chrisw
-
- Posts: 893
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Rodent 0.12
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm
-
- Posts: 893
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Rodent 0.12
thanks!
i'll compile it and run it in my open source bullet rating list
=> results available tomorrow in the tournament forum
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Rodent 0.12
I couldn't compile it on Linux with g++. Here are all the warnings and errors, with solutionslucasart wrote:thanks!
i'll compile it and run it in my open source bullet rating list
=> results available tomorrow in the tournament forum
Code: Select all
./eval/eval_pieces.c:110:20: warning: "/*" within comment [-Wcomment]
Code: Select all
./parser.c: In member function ‘void sParser::UciLoop()’:
./parser.c:58:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./parser.c: In member function ‘void sParser::ParsePosition(sPosition*, char*)’:
./parser.c:180:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
Code: Select all
./timer.c: In member function ‘void sTimer::Waste(int)’:
./timer.c:118:24: error: ‘nanosleep’ was not declared in this scope
Also the argument is not an int but a struct. Have a look here on how to use nanosleep (basically you need to specify a struct with seconds and nanoseconds)
http://linux.die.net/man/2/nanosleep
Code: Select all
./search/report.c:23:21: fatal error: windows.h: No such file or directory
compilation terminated.
Code: Select all
#if defined(_WIN32) || defined(_WIN64)
Code: Select all
./search/quiescence.c: In member function ‘int sSearcher::Quiesce(sPosition*, int, int, int, int, int*)’:
./search/quiescence.c:64:39: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
./search/search.c: In member function ‘int sSearcher::Search(sPosition*, int, int, int, int, int, int, int, int*)’:
./search/search.c:242:63: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
./search/search.c: In member function ‘int sSearcher::CountLegalMoves(sPosition*, int)’:
./search/search.c:442:50: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
With these fixes, your code should be compilable on Linux, MacOSX and Android, for example. So it would be nice to include them, unless you're not interested in portability and prefer to focus on Windows only, which is a shame of course
-
- Posts: 893
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Re: Rodent 0.12
hi,
thanks for Your input.
as for sleeping, it is used for weakening the engine. this feature is not activated yet, because it needs much more tuning than I can afford right now.
do You have access to code that wasets specific number of nanoseconds under Linux?
thanks for Your input.
as for sleeping, it is used for weakening the engine. this feature is not activated yet, because it needs much more tuning than I can afford right now.
do You have access to code that wasets specific number of nanoseconds under Linux?
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Rodent 0.12
Yes, the link I sent you. There is also usleep (if you want microseconds).PK wrote: do You have access to code that wasets specific number of nanoseconds under Linux?
In fact it's probably easier to use usleep, unless you really need nanosecond precision and to not be polluted by signals.
Using usleep couldn't be easier:
Code: Select all
#include <unistd.h>
int usleep(useconds_t usec);
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Rodent 0.12
also for the sake of portability (as well as simplicity), you could use the ISO C function clock() instead of all this
while linux gives you nanosecond precision, I don't think windows' GetTickCount has a better resolution than a millisecond (or maybe even 10 ms...), so there's no point in all this complication.
Much easier and fully portable:
Anyway, I fixed your code and compiled it. I'll test it in my Open Source Bullet rating list. As usual results tomorrow in the tournament forum
Code: Select all
int sTimer::GetMS(void)
{
#if defined(_WIN32) || defined(_WIN64)
return GetTickCount();
#else
struct timeval tv;
gettimeofday(&tv, NULL);
return tv.tv_sec * 1000 + tv.tv_usec / 1000;
#endif
}
Much easier and fully portable:
Code: Select all
#include <time.h>
clock_t start = clock();
...
clock_t stop = clock();
unsigned duration_milliseconds = (stop - start) * 1000 / CLOCKS_PER_SEC;
-
- Posts: 2272
- Joined: Mon Sep 29, 2008 1:50 am
Re: Rodent 0.12
Well usleep is deprecated....In fact it's probably easier to use usleep, unless you really need nanosecond precision and to not be polluted by signals.
Code: Select all
POSIX.1-2001 declares this function obsolete; use nanosleep(2) instead.
POSIX.1-2008 removes the specification of usleep().
-
- Posts: 893
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Re: Rodent 0.12
64-bit compiles by Denis Mendoza and Dann Corbit are uploaded
developement snapshot with compatibility fixes will come after the weekend
busy regards,
pawel
developement snapshot with compatibility fixes will come after the weekend
busy regards,
pawel
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm