{"id":24545125,"url":"https://github.com/gekomad/cinnamon","last_synced_at":"2025-04-15T15:05:52.877Z","repository":{"id":32051731,"uuid":"35623373","full_name":"gekomad/Cinnamon","owner":"gekomad","description":"C++ UCI chess engine","archived":false,"fork":false,"pushed_at":"2025-03-01T08:54:20.000Z","size":9958,"stargazers_count":34,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-15T15:05:43.632Z","etag":null,"topics":["android","arm","bitboards","chess","chess-engine","chess960","cpp","gaviota","javascript","syzygy","uci-chess-engine"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gekomad.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-14T16:46:30.000Z","updated_at":"2025-03-02T14:21:29.000Z","dependencies_parsed_at":"2024-05-11T17:42:41.723Z","dependency_job_id":"c3585f56-d8db-4f56-8628-7295c03f450d","html_url":"https://github.com/gekomad/Cinnamon","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gekomad%2FCinnamon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gekomad%2FCinnamon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gekomad%2FCinnamon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gekomad%2FCinnamon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gekomad","download_url":"https://codeload.github.com/gekomad/Cinnamon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249094931,"owners_count":21211837,"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":["android","arm","bitboards","chess","chess-engine","chess960","cpp","gaviota","javascript","syzygy","uci-chess-engine"],"created_at":"2025-01-22T21:17:58.116Z","updated_at":"2025-04-15T15:05:52.870Z","avatar_url":"https://github.com/gekomad.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Cinnamon\n==========\n### UCI Chess Engine\n\nCinnamon is a chess program for Windows, Linux, Mac OS, Android and Raspberry Pi, is a console-based chess engine for use with [xboard][4], [Arena][5], [Tarrasch][6] or any UCI-compatible GUI. Cinnamon is also a javascript library to play with [chessboardjs][7] or any js GUI.\n\n- [Play on line](https://gekomad.github.io/Cinnamon/)\n\nVersion\n----------\n2.5\n\nNews\n----------\n- Time management\n- Tapered eval\n\nUseful links\n----------\n- [Bitboard Calculator](https://gekomad.github.io/Cinnamon/BitboardCalculator/)\n- [Web Eval debugger](https://github.com/gekomad/chess-engine-eval-debugger)\n- [Cute Cluster Chess](https://github.com/gekomad/cute_cluster_chess)\n- [Perft results](https://gekomad.github.io/Cinnamon/perft.html)\n- [Perft 960 results](https://www.chessprogramming.org/Chess960_Perft_Results)\n\n\nOther links\n----------\n- [Auriga Distributed Perft](https://github.com/gekomad/Auriga)\n- [Cinnamon on Android](https://play.google.com/store/apps/details?id=com.github.gekomad.cinnamonengine)\n- [Cinnamon on Android with GUI](https://play.google.com/store/apps/details?id=com.github.gekomad.chess_master)\n- [Cinnamon on DGT Pi](https://www.digitalgametechnology.com/index.php/products/revelation-ii/533-dgt-pi-chess-computer-for-dgt-e-boards)\n- [Janggi Master (korean chess)](https://play.google.com/store/apps/details?id=com.github.gekomad.rangy_app)\n- [Xiangqi Master (chinese chess)](https://play.google.com/store/apps/details?id=com.github.gekomad.rangyxx_app)\n- [Rangy Master](https://gekomad.github.io/rangy_master/index.html)\n\nFeatures\n----------\n\n- [Elo ratings][3]\n- Available for both Unix, Windows, Mac, Android, ARM and Javascript\n- UCI protocol\n- GPL 3 License\n- Chess 960\n- C++11 source\n- Rotated bitboards\n- Interruptible multithread Perft test\n- Ponder\n- Gaviota Tablebases\n- Syzygy Tablebases\n\nBinaries\n----------\n\nBinaries are available [here][1].\nAll files are compiled statically, no further libraries are necessary.\n\nCommand line tools\n----------\n#### Perft\n`cinnamon.exe -perft [-d depth] [-c nCpu] [-h hash size (mb) [-F dump file]] [-Chess960] [-f \"fen position\"] `\n\nSetting `-F` and `-h` you can stop (Ctrl-c) and restart the perft process.\n\n\n#### Gaviota DTM (distance to mate)\n\n`cinnamon.exe -dtm-gtb -f \"fen position\" -p path`\n\n#### Gaviota WDL (win/draw/loss)\n\n`cinnamon.exe -wdl-gtb -f \"fen position\" -p path`\n\n#### SYZYFY DTZ (distance to zero)\n\n`cinnamon.exe -dtz-syzygy -f \"fen position\" -p path`\n\n#### SYZYFY WDL (win/draw/loss)\n\n`cinnamon.exe -wdl-syzygy -f \"fen position\" -p path`\n\n#### EPD generator\n`cinnamon.exe -puzzle_epd -t K?K?`\n\n example: `cinnamon.exe -puzzle_epd -t KRRKPN`\n\nCompiling\n---------\n\nCinnamon requires C++11 or greater\n\n- use MS Visual Studio (cinnamon.vcxproj)\n\n- use cmake (CMakeLists.txt)\n\n- use make - unique Makefile to compile for many architectures:\n\n\n```\n    $ make\n\n\n    Makefile for cross-compile Linux/Windows/OSX/ARM/Javascript\n\n    make cinnamon64-modern-INTEL     \u003e 64-bit optimized for modern Intel cpu\n    make cinnamon64-BMI2             \u003e 64-bit optimized for Haswell Intel cpu\n    make cinnamon64-modern-AMD       \u003e 64-bit optimized for modern Amd cpu\n    make cinnamon64-modern           \u003e 64-bit with popcnt bsf sse3 support\n    make cinnamon64-generic          \u003e Unspecified 64-bit\n    make cinnamon64-ARM              \u003e Optimized for ARM cpu\n\n    make cinnamon32-modern           \u003e 32-bit with sse support\n    make cinnamon32-generic          \u003e Unspecified 32-bit\n    make cinnamon32-ARM              \u003e Optimized for ARM cpu\n\n    make cinnamon-js                 \u003e Javascript build\n\n    add:\n     COMP=compiler                   \u003e Use another compiler\n     FULL_TEST=yes                   \u003e Unit test (googletest)\n\n\n    g++ is the default compiler, add COMP=yourcompiler to use another compiler\n     example: make cinnamon64-modern-INTEL COMP=clang++\n\n```\n\nLicense\n-------\n\nCinnamon is released under the GPLv3+ license.\n\nCredits\n-------\n\nCinnamon was written by Giuseppe Cannella at gmail dot com.\n\n  [1]: https://github.com/gekomad/Cinnamon/releases\n  [3]: https://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Cinnamon\n  [4]: https://www.gnu.org/software/xboard\n  [5]: http://www.playwitharena.de\n  [6]: https://triplehappy.com\n  [7]: https://chessboardjs.com\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgekomad%2Fcinnamon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgekomad%2Fcinnamon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgekomad%2Fcinnamon/lists"}