Commit Graph

1178 Commits

Author SHA1 Message Date
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