-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
129 lines (108 loc) · 4.58 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# ChangeLog for chessproblem
*chessproblem-2.13
- Add SPDX-License-Identifier
*chessproblem-2.12
- Fix race (regression since chessproblem-2.0):
Avoid removing MoveList while exiting (canceled) subthreads might
still own a chess::push_guard
- Fix memory leak (undeleted field in subthread) when forced canceling.
This is also a regression since chessproblem-2.0
*chessproblem-2.11
- Bugfix in thread counting
- contrib/test.sh: Support custom parameter
*chessproblem-2.10
Martin Väth <martin at mvath.de>:
- Support --enable-unlimited for testing
- contrib/make.sh: Fix export
*chessproblem-2.9
Martin Väth <martin at mvath.de>:
- Add noexcept to move constructor/assignment definitions
*chessproblem-2.8
Martin Väth <martin at mvath.de>:
- Fix stress test for C++11 (fixes compilation with clang & gcc++ lib)
- configure.ac: Make new dialect the default
*chessproblem-2.7
Martin Väth <martin at mvath.de>:
- configure.ac: Support for -fsanitize=thread
- configure.ac: Make thread check more realistic but non-fatal
*chessproblem-2.6
Martin Väth <martin at mvath.de>:
- New options -q and -Q
- contrib/test.pl supports its own options, in particular -q
- Limit maximal parallel threads to std::thread::hardware_concurrency()
- Fix configure.ac when pkg-config is not available or fails
- Provide config/test.sh
- Support make check
- Documentation: Update KNOWN BUGS
*chessproblem-2.5
Martin Väth <martin at mvath.de>:
- Use osformat library instead of a local hack
- Restructure autotools stuff and general dir structure slightly
- Remove unused moves_ from Communicate class
- Replace contrib/clean.sh by a new "make autoclean" target
- Fix how contrib/make.sh passes --enable-propage-signal
- Documentation: Add KNOWN BUGS
*chessproblem-2.4
Martin Väth <martin at mvath.de>:
- Speed up multithreading by avoiding superfluous waits when pruning
*chessproblem-2.3
Martin Väth <martin at mvath.de>:
- Rename PushGuard->push_guard and PushGuardDisarmable->unique_push
in analogy to std::lock_guard and std::unique_lock.
Rename also member functions similarly.
- Fix in push_guard and unique_push: Make accessors const, fix moving
- Make move assignment/constructor of Field faster (previously, it was
actually copied due to my misunderstanding of the C++11 standard).
- Provide explicit Field::assign()
*chessproblem-2.2
Martin Väth <martin at mvath.de>:
- Support --enable-propagate-signal: This is a different inter-thread
communication strategy which needs more memory and might perhaps be
faster, but can also be slower. It is a good strategy if there are
many bad last moves to try before a "winning" one is found.
- ./configure --with-max-parallel-default=...
- ./configure ----with-min-half-move-depth-default=...
- Micro-optimization: avoid atomic locks where unneeded
- Cleanup code: Avoid compiler UNUSED magic/attributes
*chessproblem-2.1
Martin Väth <martin at mvath.de>:
- Rework multithreading strategy:
- Use one Communication object common to all equally ranked threads:
No hackish and slow ProcessedMoves data structure is needed anymore
- Use std::atomic even for bools which are set only to true: This is
slightly slower on some arches, but also necessary for some arches.
*chessproblem-2.0
Martin Väth <martin at mvath.de>:
- Multithreading support. This changes the ChessProblem API:
The Output and Progress functions get a different signature and usage
*chessproblem-1.6
Martin Väth <martin at mvath.de>:
- Fix optimization in build system
- test.pl: Clean argument treatment
- Fix C++ standard compatibility (use std:: for include <c...>)
- Use standard assert()
- Trivial fixes in comments
*chessproblem-1.5
Martin Väth <martin at mvath.de>:
- Rename options to free -h for the standard "help" meaning
- Provide PushGuard and PushGuardDisarmable
- ChessProblem::Progress can now cancel by returning false
- Fix .gitignore
*chessproblem-1.4
Martin Väth <martin at mvath.de>:
- Care about nonstandard compatibility and warnings
*chessproblem-1.3
Martin Väth <martin at mvath.de>:
- Fix auto usage for Field::RecreateRefs()
- Rename Field::ValidatePosLists() -> Field::LegalState(); improve it
- Cosmetical fixes (constexpr static, remove superfluous includes)
*chessproblem-1.2
Martin Väth <martin at mvath.de>:
- Fix rules: A threatened field b2/b8 must not forbid long castling
*chessproblem-1.1
Martin Väth <martin at mvath.de>:
- Reimplement I/O using a Format class
- Make Field copyable/moveable
*chessproblem-1.0
Martin Väth <martin at mvath.de>:
- Initial implementation within about 1 day (+ about 1 day testing)