{"id":13749054,"url":"https://github.com/robbepop/ipasir-rs","last_synced_at":"2025-12-27T01:57:26.538Z","repository":{"id":57634571,"uuid":"130888935","full_name":"Robbepop/ipasir-rs","owner":"Robbepop","description":"FFI bindings for the IPASIR incremental SAT solver interface.","archived":false,"fork":false,"pushed_at":"2020-04-12T07:21:30.000Z","size":24,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-05T21:16:19.254Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Robbepop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-24T17:15:06.000Z","updated_at":"2020-04-12T07:21:32.000Z","dependencies_parsed_at":"2022-09-16T04:30:37.499Z","dependency_job_id":null,"html_url":"https://github.com/Robbepop/ipasir-rs","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/Robbepop%2Fipasir-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Fipasir-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Fipasir-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Fipasir-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Robbepop","download_url":"https://codeload.github.com/Robbepop/ipasir-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253240350,"owners_count":21876593,"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-03T07:00:54.585Z","updated_at":"2025-12-27T01:57:26.479Z","avatar_url":"https://github.com/Robbepop.png","language":"Rust","funding_links":[],"categories":["Projects"],"sub_categories":["Libraries"],"readme":"# IPASIR interface for Rust\n\n|       Docs        |       Crates.io      |\n|:-----------------:|:--------------------:|\n| [![docs][1]][2]   | [![crates][3]][4]    |\n\n## What it is\n\nIPASIR is a simple C interface to incremental SAT solvers.\n(It stands for Reentrant Incremental Sat solver API, in reverse.)\nThis interface is supported by a few different solvers because it is used in the SAT competition's incremental track.\nThe IPASIR distribution, containing the interface and some sample solvers,\ncan be found at [this GitHub repository](https://github.com/biotomas/ipasir).\nThis IPASIR library is an attempt to semi-soundly allow Rust programs to interface with such SAT solver libraries.\n\n## How the FFI is structured\n\nFor users of this FFI there are two distinct ways of usage.\nUsers can build their application on top of the `raw` module that offers direct but unsafe calls\ninto the C-API.\nThe recommended way to use this FFI is to use the `Solver` type that acts as safe wrapper around\nthe C-API.\n\nAllocate a new solver instance with: `ipasir::Solver::init()`\n\n## License\n\nLicensed under either of\n\n * Apache license, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Dual licence: [![badge][license-mit-badge]](LICENSE-MIT) [![badge][license-apache-badge]](LICENSE-APACHE)\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any\nadditional terms or conditions.\n\n[license-mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[license-apache-badge]: https://img.shields.io/badge/license-APACHE-orange.svg\n\n## Release Notes\n\n### 0.3.1 - 12th April 2020\n\n- Implement `Error` and `Display` for the error types of the crate.\n\n### 0.3.0 - 10th April 2019\n\n- Major API overhaul\n- `ipasir::ffi::Solver` is now the FFI C targeting solver wrapper for Rust.\n- `IpasirSolver` is the trait to be implemented by Rust IPASIR compatible solvers\n\n### 0.2.0 - 25th April 2018\n\n- Renamed `raw` module to `sys` to better fit with the rest of the ecosystem.\n- `Lit::to_raw` is no longer publicly visible.\n- Removed `LitOrEnd` and `EndOfClause`.\n- Split `Solver::add` API into `Solver::add_lit` and `Solver::finalize_clause`.\n- Add `Clause::len` and `Clause::get` methods.\n- Add `Lit::new_unchecked` constructor.\n- Add `Lit::sign` and `Sign` enum.\n- Add `Lit::var` method.\n- Make `SolveControl` now publicly visible. (Was accidentally private before.)\n\n### 0.1.0 - 24th April 2018\n\n- Initial Release\n\n[1]: https://docs.rs/ipasir/badge.svg\n[2]: https://docs.rs/ipasir/\n[3]: https://img.shields.io/crates/v/ipasir.svg\n[4]: https://crates.io/crates/ipasir/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobbepop%2Fipasir-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobbepop%2Fipasir-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobbepop%2Fipasir-rs/lists"}