Calcitem
9d2dbaab08
thread: 修复 Thread::adjustDepth() 中 index 下标偶然越界 (WAR)
...
See: https://github.com/calcitem/Sanmill/issues/61
此为临时性修改方案,是否可靠待确认。
2020-10-28 02:02:57 +08:00
Calcitem
87517bc486
thread: dos2unix
2020-10-28 01:03:17 +08:00
Calcitem
fe7084a5f0
thread: uci: 解决概率性出现 data race 问题
...
ThreadSanitizer: data race /home/calcitem/Sanmill/src/thread.cpp:434:18 in Thread::adjustDepth()
ThreadSanitizer: data race /home/calcitem/Sanmill/src/uci.cpp:121:28 in (anonymous namespace)::go(Position*)
ThreadSanitizer: data race /home/calcitem/Sanmill/src/./position.h:285:15 in Position::key() const
2020-10-28 01:02:50 +08:00
Calcitem
8d6fc55065
qt: 去除 pro 文件中的 timeman.cpp
2020-10-25 12:50:29 +08:00
Calcitem
c2b76d0e88
uci: go() 中重新开始新局之前不再进行一段时间死循环
2020-10-25 12:18:52 +08:00
Calcitem
19e6621e8f
WAR: 小概率发生重新开始一局后 thread 的 us 还是 WHITE 导致进入死循环
...
尝试在 go() 中每次开始新局之前再给 us 赋值一次 BLACK。
2020-10-25 11:19:34 +08:00
Calcitem
51e0d4ee91
refactor: UCI_AUTO_RESTART 宏控制修改代码顺序
2020-10-25 11:17:55 +08:00
Calcitem
85cdd2d0ed
thread: us 由 int 类型改为 Color
2020-10-25 11:17:11 +08:00
Calcitem
f860086aa8
build: Fix gcc build error
2020-10-25 03:08:28 +08:00
Calcitem
5017d17e59
analyze: 打印胜率并保留2位小数
2020-10-25 02:36:22 +08:00
Calcitem
3fa33fc9df
position: 打印局面前先加一个换行
2020-10-25 01:22:17 +08:00
Calcitem
0e19426369
uci: 解决输入 d 后未按预期打印局面数据而是打印内存地址的问题
2020-10-25 01:21:54 +08:00
Calcitem
82c0539ec8
console: 在启用 UCI_DO_BEST_MOVE 的情况下执行完 go 局面才会变动
...
否则只是给 bestmove 结果,不会执行。
2020-10-25 00:54:01 +08:00
Calcitem
1cc5b07702
输出最佳着法时带上 bestmove 前缀
2020-10-25 00:25:59 +08:00
Calcitem
bd93195566
消除部分开关宏后导致的编译警告
2020-10-25 00:25:10 +08:00
Calcitem
97cd4ec7bf
config: 去除 SELF_MOVE 宏并增加若干宏
...
//#define DISABLE_RANDOM_MOVE
//#define UCI_AUTO_RE_GO
//#define UCI_AUTO_RESTART
#define ANALYZE_POSITION
2020-10-25 00:15:18 +08:00
Calcitem
63fe6d0d95
thread: 解决多线程读写竞争问题
...
ThreadPool::set() 中 new Thread(size()) 会初始化 bestvalue 和 lastvalue 的值,和
Thread::idle_loop() 中 bestvalue = lastvalue = VALUE_ZERO; 产生竞争。
故将后者删除。
2020-10-24 12:15:13 +08:00
Calcitem
9172c786d1
position: 修复 in_how_many_mills() 中 squareSelected 可能是 -1 导致读写越界1字节问题
2020-10-24 12:05:04 +08:00
Calcitem
bd6396e459
build: 消除 make 编译警告 (GCC 10.2)
2020-10-24 01:34:29 +08:00
Calcitem
d89211f05d
console: build: 能够在 Cygwin 下编译通过
2020-10-23 17:10:19 +01:00
Calcitem
c4639c2820
thread: 屏蔽 4695 警告以便控制台课使用 ANSI 编码格式防止 Win10 新控制台中文乱码
2020-10-23 23:02:49 +08:00
Calcitem
1ba032ac37
thread: idle_loop() 恢复对 rootPos 的空指针判断
2020-10-23 22:54:39 +08:00
Calcitem
f3eb5b3322
appendGameOverReasonToCmdlist 对 phase 判断由 assert 改为 if
2020-10-23 22:41:48 +08:00
Calcitem
3726ad9635
refactor: 清理无用代码
2020-10-23 02:01:12 +08:00
Calcitem
7594c6e31d
开启 TIME_STAT 宏
2020-10-23 00:32:57 +08:00
Calcitem
71b34a7bd1
console: 关闭 QT_UI 宏后命令行下输入 go 可以自对弈
...
但是只能自对弈5盘左右就卡住。
2020-10-23 00:32:41 +08:00
Calcitem
2fa1dda751
build: 解决关闭 QT_UI 宏后编译不通过的问题
2020-10-21 23:49:36 +08:00
Calcitem
140df0f6d1
从 console 分支合并一些修改从
...
不涉及指针转引用的修改合并之。
分析时于是打印比分。
注意Debug自对弈时长貌似从16秒变成17秒。
2020-10-21 23:42:57 +08:00
Calcitem
47d66692f3
thread: 重构 Thread 类各成员排列顺序
2020-10-21 23:32:03 +08:00
Calcitem
4480073e63
tt: 解决关闭 TRANSPOSITION_TABLE_ENABLE 宏后编译不过的问题
2020-10-21 23:28:57 +08:00
Calcitem
75be8e26aa
thread: stopwatch 相关修改模板传参
2020-10-21 23:26:31 +08:00
Calcitem
e87a027a14
rule: 打三棋先去掉50步规则
2020-10-21 23:25:06 +08:00
Calcitem
87b3bf1b08
thread: setPosition() 改名为 clearTT (WIP)
...
其实还夹带清除历史。
2020-10-21 23:23:40 +08:00
Calcitem
5a5f30edfc
thread: searching 默认未 true 即和 Stockfish 保持一致
2020-10-21 23:20:56 +08:00
Calcitem
a08dfbbfa3
thread: Thread 构造函数用 n 给 idx 赋值
2020-10-21 23:18:07 +08:00
Calcitem
6f6f2ee349
position: pieceCountInHand 赋予初值12 (WIP)
...
未考虑9子棋。
2020-10-21 23:02:32 +08:00
Calcitem
a5fffda6e9
console: main() 中调用 Position::init()
2020-10-21 23:00:52 +08:00
Calcitem
971fed440d
position: 增加 put_piece(Piece pc, Square s) 函数但暂未使用
2020-10-21 22:59:32 +08:00
Calcitem
7734ea5a31
build: 解决 TRANSPOSITION_TABLE_DEBUG 和 TIME_STAT 宏开启后编译失败问题
2020-10-21 22:57:37 +08:00
Calcitem
7d41ad4fa5
thread: 构造函数中不再传入 us
2020-10-18 08:48:05 +08:00
Calcitem
627fde24ed
build: 确保关闭 QT_UI 宏也能编译通过
2020-10-17 23:04:33 +08:00
Calcitem
924554206d
hashmap: dump() 和 load() 使用 std 的 fstream 而非 QFile (WIP)
...
尚未和 endgame 模块联调。
2020-10-17 22:50:54 +08:00
Calcitem
713dd47a23
debug.h: 增加 QT_UI 宏控制
2020-10-17 22:49:47 +08:00
Calcitem
fb6dd70562
thread: Remove searchStarted()/searchFinished()/act()
2020-10-17 22:32:08 +08:00
Calcitem
3f707ff5cd
refactor: 将网络对战模块从 Thread 类移到 GameController 类
...
并默认启用网络对战宏。
2020-10-17 22:13:58 +08:00
Calcitem
12ee4c3c70
解决 Position::command() 中的编译警告
2020-10-06 22:13:35 +08:00
Calcitem
bb0c2f3a11
net: WAR: 通过 NET_FIGHT_SUPPORT 宏控制将网络对战功能禁用
...
因存在内存泄漏问题故暂时关闭。
2020-10-06 21:59:10 +08:00
Calcitem
a52f9726a9
search: 解决 Stack ss 改为局部变量后导致的内存泄漏问题
2020-10-06 20:15:25 +08:00
Calcitem
45b6c67d67
rule: 解决切换规则后落子无反应的问题
...
将 rule 改为指针类型。
2020-10-06 11:10:10 +08:00
Calcitem
e2525b9326
UI: 解决 cmdlist 转移到 GameController 后人类落子不会记录到棋谱的问题
2020-10-04 21:37:47 +08:00