{"id":19570507,"url":"https://github.com/basil00/fathom","last_synced_at":"2025-04-27T03:31:50.534Z","repository":{"id":71320667,"uuid":"45951473","full_name":"basil00/Fathom","owner":"basil00","description":"Syzygy TB probe tool.","archived":false,"fork":false,"pushed_at":"2023-08-13T15:23:38.000Z","size":57,"stargazers_count":17,"open_issues_count":11,"forks_count":25,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-20T18:08:23.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basil00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-11-11T01:11:30.000Z","updated_at":"2023-10-20T18:08:24.075Z","dependencies_parsed_at":"2023-10-20T18:18:24.037Z","dependency_job_id":null,"html_url":"https://github.com/basil00/Fathom","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basil00%2FFathom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basil00%2FFathom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basil00%2FFathom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basil00%2FFathom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basil00","download_url":"https://codeload.github.com/basil00/Fathom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224056536,"owners_count":17248329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T06:15:21.609Z","updated_at":"2024-11-11T06:15:22.611Z","avatar_url":"https://github.com/basil00.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"**NOTICE:** This version of Fathom is no longer maintained.\n            Please use https://github.com/jdart1/Fathom instead.\n\nFathom\n======\n\nFathom is a stand-alone Syzygy tablebase probing tool.  The aims of Fathom\nare:\n\n* To make it easy to integrate the Syzygy tablebases into existing chess\n  engines;\n* To make it easy to create stand-alone applications that use the Syzygy\n  tablebases;\n\nTool\n----\n\nFathom includes a stand-alone command-line syzygy probing tool `fathom`.  To\nprobe a position, simply run the command:\n\n    fathom --path=\u003cpath-to-TB-files\u003e \"FEN-string\"\n\nThe tool will print out a PGN representation of the probe result, including:\n\n* Result: \"1-0\" (white wins), \"1/2-1/2\" (draw), or \"0-1\" (black wins)\n* The Win-Draw-Loss (WDL) value for the next move: \"Win\", \"Draw\", \"Loss\",\n  \"CursedWin\" (win but 50-move draw) or \"BlessedLoss\" (loss but 50-move draw)\n* The Distance-To-Zero (DTZ) value (in plys) for the next move\n* WinningMoves: The list of all winning moves\n* DrawingMoves: The list of all drawing moves\n* LosingMoves: The list of all losing moves\n* A pseudo \"principle variation\" of Syzygy vs. Syzygy for the input position.\n\nFor more information, run the following command:\n\n    fathom --help\n\nPre-compiled versions of `fathom` (for all platforms) are available from here:\n\n* https://github.com/basil00/Fathom/releases\n\nProgramming API\n---------------\n\nFathom provides a simple API.  There are three main function calls:\n\n* `tb_init` initializes the tablebase\n* `tb_probe_wdl` probes the Win-Draw-Loss (WDL) table for a given position\n* `tb_probe_root` probes the Distance-To-Zero (DTZ) table for the given\n  position.\n\nAll of the API functions use basic integer types, i.e. there is no need to\ncreate and initialize data-structures.  Fathom does not require the callee\nto provide any additional functionality (e.g. move generation) unlike the\ntraditional `tbprobe` code.  However, chess engines can opt to replace some\nof the functionality of Fathom for better performance (see below).\n\nChess Engines\n-------------\n\nChess engines can be `tb_probe_wdl` to get the WDL value during search.  The\n`tb_probe_root` functional can be used to help pick the best move at the root.\nNote that `tb_probe_root` is slower and therefore should only be used at the\nroot.\n\nChess engines can opt for a tighter integration of Fathom by configuring\n`tbconfig.h`.  Specifically, the chess engines can define `TB_*_ATTACKS`\nmacros that replace the default definitions with the engine's own definitions,\navoiding duplication of functionality.\n\nCredits\n-------\n\nThe Syzygy tablebases were created by Ronald de Man.  Much of the probing code\n`tbprobe.c` is a modified version of Ronald's `tbprobe.cpp` for Stockfish (all\nStockfish-specific code has been removed).  The `tbcore.c` file is virtually\nunchanged from Ronald's original version.\n\nLicense\n-------\n\n(C) 2013-2015 Ronald de Man (original code)\n(C) 2015 basil (new modifications)\n\nRonald de Man's original code can be \"redistributed and/or modified without\nrestrictions\".\n\nThe new modifications are released under the permissive MIT License:\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasil00%2Ffathom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasil00%2Ffathom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasil00%2Ffathom/lists"}