{"id":13773103,"url":"https://github.com/lsils/mockturtle","last_synced_at":"2026-01-16T17:49:31.705Z","repository":{"id":33248836,"uuid":"131001448","full_name":"lsils/mockturtle","owner":"lsils","description":"C++ logic network library","archived":false,"fork":false,"pushed_at":"2025-04-28T08:46:45.000Z","size":25884,"stargazers_count":228,"open_issues_count":14,"forks_count":146,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-28T09:54:23.893Z","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/lsils.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2018-04-25T12:15:49.000Z","updated_at":"2025-04-28T08:46:49.000Z","dependencies_parsed_at":"2023-09-23T02:10:16.764Z","dependency_job_id":"b69b3a79-b895-4c37-8cc0-af8cdccca4e0","html_url":"https://github.com/lsils/mockturtle","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Fmockturtle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Fmockturtle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Fmockturtle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Fmockturtle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsils","download_url":"https://codeload.github.com/lsils/mockturtle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253523690,"owners_count":21921815,"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-08-03T17:01:11.397Z","updated_at":"2026-01-16T17:49:31.690Z","avatar_url":"https://github.com/lsils.png","language":"C++","funding_links":[],"categories":["Circuit Compilers"],"sub_categories":[],"readme":"[![Actions Status](https://github.com/lsils/mockturtle/workflows/Linux%20CI/badge.svg)](https://github.com/lsils/mockturtle/actions)\n[![Actions Status](https://github.com/lsils/mockturtle/workflows/MacOS%20CI/badge.svg)](https://github.com/lsils/mockturtle/actions)\n[![Actions Status](https://github.com/lsils/mockturtle/workflows/Windows%20CI/badge.svg)](https://github.com/lsils/mockturtle/actions)\n[![Coverage Status](https://codecov.io/gh/lsils/mockturtle/branch/master/graph/badge.svg?token=KSC1MP2VCM)](https://codecov.io/gh/lsils/mockturtle)\n[![Documentation Status](https://readthedocs.org/projects/mockturtle/badge/?version=latest)](http://mockturtle.readthedocs.io/en/latest/?badge=latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n# mockturtle\n\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/lsils/mockturtle@master/mockturtle.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\nmockturtle is a C++-17 logic network library.  It provides several logic\nnetwork implementations (such as And-inverter graphs, Majority-inverter graphs,\nand k-LUT networks), and generic algorithms for logic synthesis and logic\noptimization.\n\n[Read the full documentation.](http://mockturtle.readthedocs.io/en/latest/?badge=latest)\n\n## Example\n\nThe following code snippet reads an AIG from an Aiger file, enumerates all cuts\nand prints them for each node.\n\n```c++\n#include \u003cmockturtle/mockturtle.hpp\u003e\n#include \u003clorina/aiger.hpp\u003e\n\nmockturtle::aig_network aig;\nauto const result = lorina::read_aiger( \"file.aig\", mockturtle::aiger_reader( aig ) );\nassert( result == lorina::return_code::success );\n\nauto const cuts = cut_enumeration( aig );\naig.foreach_node( [\u0026]( auto node ) {\n  std::cout \u003c\u003c cuts.cuts( aig.node_to_index( node ) ) \u003c\u003c \"\\n\";\n} );\n```\n\n## Installation requirements\n\nA modern compiler is required to build *mockturtle*.  We are continuously\ntesting with Clang 12.0.1, GCC 9.3.0, and GCC 10.2.0.  More information can be\nfound in the [documentation](http://mockturtle.readthedocs.io/en/latest/getting_started.html).\n\n## EPFL logic synthesis libraries\n\nmockturtle is part of the [EPFL logic synthesis](https://lsi.epfl.ch/page-138455-en.html) libraries.  The other libraries and several examples on how to use and integrate the libraries can be found in the [logic synthesis tool showcase](https://github.com/lsils/lstools-showcase).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsils%2Fmockturtle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsils%2Fmockturtle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsils%2Fmockturtle/lists"}