⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 solver_8c.html

📁 黑白棋终局解算程序
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Othello Solver: solver.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.5 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>solver.c File Reference</h1><code>#include &lt;ctype.h&gt;</code><br><code>#include &lt;stdlib.h&gt;</code><br><code>#include &lt;stdio.h&gt;</code><br><code>#include &lt;string.h&gt;</code><br><code>#include &lt;time.h&gt;</code><br><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structBoard.html">Board</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structHash.html">Hash</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structHashEntry.html">HashEntry</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structHashTable.html">HashTable</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structMove.html">Move</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structMoveList.html">MoveList</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structSquareList.html">SquareList</a></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga12">EMPTIES_DEEP_TO_SHALLOW_SEARCH</a>&nbsp;&nbsp;&nbsp;7</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga13">USE_HASH_TABLE</a>&nbsp;&nbsp;&nbsp;1</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga14">USE_ENHANCED_TRANSPOSITION_CUTOFF</a>&nbsp;&nbsp;&nbsp;(1 &amp;&amp; USE_HASH_TABLE)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga15">PLAY_ODD_SQUARE_FIRST</a>&nbsp;&nbsp;&nbsp;1</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga16">PLAY_FAST_SUBTREE_FIRST</a>&nbsp;&nbsp;&nbsp;1</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga17">PLAY_STABLEST_SUBTREE</a>&nbsp;&nbsp;&nbsp;(1 &amp;&amp; PLAY_FAST_SUBTREE_FIRST)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga18">PLAY_BEST_MOVE_IN_MEMORY_FIRST</a>&nbsp;&nbsp;&nbsp;(1 &amp;&amp; USE_HASH_TABLE)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga19">USE_PRESORTED_SQUARES</a>&nbsp;&nbsp;&nbsp;1</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga20">COUNT_NODES</a>&nbsp;&nbsp;&nbsp;3</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga21">INF_SCORE</a>&nbsp;&nbsp;&nbsp;127</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga22">BOARD_SIZE</a>&nbsp;&nbsp;&nbsp;91</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga23">MAX_MOVE</a>&nbsp;&nbsp;&nbsp;32</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga24">MAX_FLIP</a>&nbsp;&nbsp;&nbsp;20</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga25">MAX_SCORE</a>&nbsp;&nbsp;&nbsp;64</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga26">BOARD_UPDATE_INTERNAL_NODES</a>()&nbsp;&nbsp;&nbsp;board-&gt;n_nodes++;</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga27">BOARD_UPDATE_TERMINAL_NODES</a>()&nbsp;&nbsp;&nbsp;board-&gt;n_nodes++;</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga28">BOARD_CORRECT_TERMINAL_NODES</a>()&nbsp;&nbsp;&nbsp;board-&gt;n_nodes--;</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga29">BOARD_UPDATE_ALL_NODES</a>()&nbsp;&nbsp;&nbsp;board-&gt;n_nodes++</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga30">BOARD_CHECK_MOVE_6</a>(dir)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga31">BOARD_CHECK_MOVE_4</a>(dir)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga32">BOARD_COUNT_FLIPS_6</a>(dir)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga33">BOARD_COUNT_FLIPS_4</a>(dir)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga34">BOARD_FLIP</a>(dir, max_flip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga35">BOARD_GET_MOVE</a>(dir, max_flip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga36">BOARD_UPDATE_SQUARE</a>(board, move)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga37">BOARD_RESTORE_SQUARE</a>(board, move)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga38">BOARD_UPDATE_PLAYER</a>(board)&nbsp;&nbsp;&nbsp;(board-&gt;player = o)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga39">BOARD_RESTORE_PLAYER</a>(board)&nbsp;&nbsp;&nbsp;(board-&gt;player = p)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga40">BOARD_UPDATE_DISCS</a>(board, n_flips)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga41">BOARD_RESTORE_DISCS</a>(board, n_flips)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga42">BOARD_UPDATE_PARITY</a>(board, x)&nbsp;&nbsp;&nbsp;(board-&gt;parity[<a class="el" href="group__mac.html#ga1">QUADRANT_ID</a>[x]] ^= 1)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga43">BOARD_RESTORE_PARITY</a>(board, x)&nbsp;&nbsp;&nbsp;(board-&gt;parity[<a class="el" href="group__mac.html#ga1">QUADRANT_ID</a>[x]] ^= 1)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga44">BOARD_UPDATE_EMPTIES</a>(board, empties, x)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga45">BOARD_RESTORE_EMPTIES</a>(board, empties, x)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga46">BOARD_LAST_UPDATE_EMPTIES</a>(board, empties, x)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga47">BOARD_LAST_RESTORE_EMPTIES</a>(board, empties, x)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga48">BOARD_UPDATE_HASH_CODE</a>(board, code)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga49">BOARD_RESTORE_HASH_CODE</a>(board, code)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga50">OPPONENT</a>(p)&nbsp;&nbsp;&nbsp;((p) ^ 1)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga51">HASH_TABLE_OK</a>(hash_table)&nbsp;&nbsp;&nbsp;(hash_table-&gt;hash_mask != 0)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga52">TICK_TO_H</a>(t)&nbsp;&nbsp;&nbsp;(int)((t) / 3600 / CLOCKS_PER_SEC)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga53">TICK_TO_M</a>(t)&nbsp;&nbsp;&nbsp;(int)(((t) / 60 / CLOCKS_PER_SEC) % 60)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga54">TICK_TO_S</a>(t)&nbsp;&nbsp;&nbsp;(int)(((t) / CLOCKS_PER_SEC) % 60)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga55">TICK_TO_DS</a>(t)&nbsp;&nbsp;&nbsp;(int)(((t) / (CLOCKS_PER_SEC / 10)) % 10)</td></tr><tr><td colspan=2><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structMove.html">Move</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__mac.html#ga5">Move</a></td></tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -