Search found 2052 matches

by mar
Fri Feb 28, 2020 12:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Don't understand CarryRippler
Replies: 14
Views: 1659

Re: Don't understand CarryRippler

It seems to overflow nicely but shifting gives warnings propably UB. This is because the hardware (x86 since 286, not sure about ARM) does mask before shift. so uint32 << 33 gives the same result as uint32 << (33 & 31), which is left shift by two, instead of 0. for 64-bit integers the mask is obvio...
by mar
Thu Feb 27, 2020 10:10 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Don't understand CarryRippler
Replies: 14
Views: 1659

Re: Don't understand CarryRippler

Rust obviously also supports addition with overflow. You can use the wrapping_add/wrapping_sub function to prevent the checking. In release mode, there will also be no checking of overflows, Rust just does this in debug mode to help find potential bugs. I missed your reply when I was writing mine, ...
by mar
Thu Feb 27, 2020 9:57 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Don't understand CarryRippler
Replies: 14
Views: 1659

Re: Don't understand CarryRippler

This line: n = (n - d) & d; It substracts d from n, but for any d greater than 0, the outcome of "n - d" will be negative, which is not possible when working with unsigned characters. Rust confirms: "thread 'main' panicked at 'attempt to subtract with overflow'." It seems that Rust is really seriou...
by mar
Wed Feb 26, 2020 5:49 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Zobrist key independence
Replies: 38
Views: 4051

Re: Zobrist key independence

The point of buckets is really simple: CPU cache. cache line size is 64 bytes on x86/x64 so with 16 bytes/entry you have 4 entries per bucket. (assuming your TT is cacheline-aligned) You can also use various replacement schemes for various entries (as has been suggested by hgm in another thread), so...
by mar
Tue Feb 25, 2020 2:42 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Delta pruning test
Replies: 16
Views: 1914

Re: Delta pruning test

adding qs will make you search more nodes, but it should improve the strength a lot. how much have you gained by adding qs?
other that that, I can only say that delta pruning is certainly not worth 80 elo, that's way too much
did it hold for more games (say 5k?)
by mar
Tue Feb 25, 2020 9:16 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hash collisions
Replies: 370
Views: 27991

Re: hash collisions

It is not to finish depth 1. It is to sort the ply-1 move list. For a long time I kept a counter in root.c to measure the time used. It was always 0.0 at the end of every game (out of tens of millions.) So in normal games this can't be measured since my timer resolution in Crafty is .01 seconds by ...
by mar
Mon Feb 24, 2020 8:09 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hash collisions
Replies: 370
Views: 27991

Re: hash collisions

Well, Cheng needs 6 milliseconds to finish depth 1 (and finds Qcxb1#), there's no excuse for 7+ minutes to finish depth 1. Like I wrote in another thread (people don't listen): this is qs explosion and all you have to do is to limit minimum qs depth based on root depth. Simple, costs no elo and allo...
by mar
Mon Feb 24, 2020 11:34 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hash collisions
Replies: 370
Views: 27991

Re: hash collisions

GC has advantages and drawbacks. In Amoeba, the main advantage I found, is I do not have to worry much about memory management, memory leaks, etc. The main drawback is it make the runtime bigger. Amoeba is not really concerned by program pause, slowdown, etc. that a GC may cause. You can still get ...
by mar
Mon Feb 24, 2020 9:14 am
Forum: Computer Chess Club: Tournaments and Matches
Topic: Dirty Gang v Cheng Clan (Teams Match)
Replies: 8
Views: 984

Re: Dirty Gang v Cheng Clan (Teams Match)

Thanks for the tournament, Graham.
by mar
Mon Feb 24, 2020 9:13 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SIMD methods in TT probing and replacement
Replies: 15
Views: 1704

Re: SIMD methods in TT probing and replacement

A bit late but I ran a simple test age vs equi-distributed draft (plain, no always-replace entry) My computer froze after 8.5k bullet games, but I think that's enough games... The result is 0.6 +- 5.2 elo in favor of equi-distributed draft (=even). I'd have to run more tests (longer TC, ponder on, S...