Discussion of chess software programming and technical issues.
Moderators: hgm, Dann Corbit, Harvey Williamson
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
- Posts: 82
- Joined: Thu Nov 26, 2020 9:06 am
- Full name: Niels Abildskov
mar wrote: ↑
Tue Feb 23, 2021 12:56 pm
I see now that your problem is actually a non-determinism between debug and release build - might be some uninitialized variables?
I've also noticed that you use masking when probing TT, but I don't see where you round numEntries to a power of two; while it still works for your default TT size, it might not for arbitrary TT sizes;
still even this doesn't explain the problems you're facing.
I hadn't even thought about that... But I implemented your PRNG and now with 16MB hash debug and release give the same results.
I will fix the rounding problem soon to get rid of unwanted behaviour at other TT sizes. I will also check for uninitialized variables and just generally take a day next week to do a bug-hunt.
Thank you for your help
- Posts: 1874
- Joined: Tue Aug 30, 2016 6:19 pm
- Full name: Rasmus Althoff
niel5946 wrote: ↑
Tue Feb 23, 2021 4:50 pm
I will also check for uninitialized variables and just generally take a day next week to do a bug-hunt.
I highly recommend cranking up your compiler to the maximum warning level. Never accept code with warnings because once the engine throws dozens of compiler warnings, you won't see those that might hint to actual bugs. Otherwise, CppCheck is a nice GUI driven program, and also it's free open source.