Skip to content

Commit 2ee86dc

Browse files
committed
Prepare 0.3.1 release including new flussab-aiger 0.1.0
1 parent 033aa3d commit 2ee86dc

File tree

9 files changed

+93
-16
lines changed

9 files changed

+93
-16
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
4+
## flussab 0.3.1 (2023-11-05)
5+
6+
* `flussab-cnf` is at version 0.3.1
7+
* `flussab-aiger` is at version 0.1.0
8+
* Add `advance_with_buf` to `DeferredReader`
9+
* Changed some `#[inline]` and `#[cold]` attributes
10+
* New flussab-aiger crate for AIGER files (binary and ASCII)
11+
312
## flussab 0.3.0 (2022-03-06)
413

514
* Rename `ByteReader`/`ByteWriter` to `DeferredReader`/`DeferredWriter`

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[workspace]
2+
resolver = "2"
23
members = ["flussab", "flussab-cnf", "flussab-aiger"]
34

45
[profile.release]

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The Flussab repository contains the file format parsing related crates listed be
88

99
* [`flussab`](flussab) generic parsing utilities.
1010
* [`flussab-cnf`](flussab-cnf) for the DIMACS CNF file format and variants.
11+
* [`flussab-aiger`](flussab-aiger) (*preview release*) for the AIGER file format (binary and ASCII).
1112

1213
## License
1314

flussab-aiger/Cargo.toml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
[package]
22
name = "flussab-aiger"
33
version = "0.1.0"
4+
authors = ["Jannis Harder <[email protected]>"]
45
edition = "2021"
6+
description = "AIGER file format (binary and ASCII) parser and writer"
7+
repository = "https://github.com/jix/flussab"
8+
license = "0BSD"
9+
readme = "README.md"
10+
keywords = ["aig", "aiger", "and-inverter-graph", "parser", "writer"]
11+
categories = ["parser-implementations", "encoding"]
512

613
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
714

815
[dependencies]
916
flussab = { version = "0.3.0", path = "../flussab" }
10-
thiserror = "1.0.30"
11-
num-traits = "0.2.14"
17+
thiserror = "1.0.50"
18+
num-traits = "0.2.17"
1219
zwohash = "0.1.2"
13-
14-
[dev-dependencies]
15-
flussab-cnf = { version = "0.3.0", path = "../flussab-cnf" }
16-
tempfile = "3.3.0"
17-
duct = "0.13.6"

flussab-aiger/LICENSE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Copyrights in this software are retained by their respective authors. See the
2+
version control history for full authorship information.
3+
4+
Except as otherwise noted (below and/or in individual files), this software is
5+
licensed under the following terms ("Zero-Clause BSD"):
6+
7+
Permission to use, copy, modify, and/or distribute this software for any
8+
purpose with or without fee is hereby granted.
9+
10+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13+
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
16+
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17+
18+
Unless you explicitly state otherwise, any contribution intentionally submitted
19+
for inclusion in this software by you shall be under the terms and conditions
20+
of the above license, without any additional terms or conditions.

flussab-aiger/README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Flussab AIGER
2+
3+
[![github][github-badge]][github]
4+
[![crates.io][crate-badge]][crate]
5+
[![docs.rs][docs-badge]][docs]
6+
7+
Parsing and writing of the [AIGER file format][aiger] for combinational and
8+
sequential boolean circuits represented as And-Inverter-Graphs (AIGs),
9+
implemented using [`flussab`][flussab]. The goal of this library is to provide
10+
a very efficient streaming parser for the AIGER file format. In addition to a
11+
streaming parser, which allows parsing the AIG directly into application
12+
specific data structures, this library also provides simple data structures to
13+
represent the full contents of an AIGER file together with utility functions
14+
for reading writing that are implemented on top of the streaming API. Finally
15+
since the binary AIGER file format places more restrictions on the numbering of
16+
literals, this library provides functions fo renumbering AIGs to allow
17+
conversion from ASCII AIGER to binary AIGER.
18+
19+
**Note:** This is currently a preview release. It's mostly feature complete,
20+
but it's lacking documentation and I might still restructure the API a bit
21+
while prepareing this for a first proper release.
22+
23+
[aiger]:https://fmv.jku.at/aiger/
24+
[flussab]:https://crates.io/crates/flussab
25+
26+
## License
27+
28+
This software is available under the Zero-Clause BSD license, see
29+
[LICENSE](LICENSE) for full licensing information.
30+
31+
### Contribution
32+
33+
Unless you explicitly state otherwise, any contribution intentionally submitted
34+
for inclusion in this software by you shall be licensed as defined in
35+
[LICENSE](LICENSE).
36+
37+
[github]:https://github.com/jix/flussab
38+
[crate]:https://crates.io/crates/flussab-cnf
39+
[docs]:https://docs.rs/flussab-cnf/*/flussab_cnf
40+
41+
[github-badge]: https://img.shields.io/badge/github-jix/flussab-blueviolet?style=flat-square
42+
[crate-badge]: https://img.shields.io/crates/v/flussab-aiger?style=flat-square
43+
[docs-badge]: https://img.shields.io/badge/docs.rs-flussab_aiger-informational?style=flat-square

flussab-aiger/src/token.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,11 @@ pub fn remaining_line_content<'a>(input: &'a mut LineReader) -> Result<&'a str,
389389

390390
#[inline]
391391
pub fn remaining_file_content<'a>(input: &'a mut LineReader) -> Result<&'a str, ParseError> {
392-
while !matches!(
393-
input.reader.request_byte_at_offset(input.reader.buf_len()),
394-
None
395-
) {}
392+
while input
393+
.reader
394+
.request_byte_at_offset(input.reader.buf_len())
395+
.is_some()
396+
{}
396397

397398
let bytes = input.reader.buf();
398399

flussab-cnf/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "flussab-cnf"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
authors = ["Jannis Harder <[email protected]>"]
55
edition = "2021"
66
description = "DIMACS CNF file format parser and writer"
@@ -12,8 +12,8 @@ categories = ["parser-implementations", "encoding"]
1212

1313
[dependencies]
1414
flussab = { version = "0.3.0", path = "../flussab" }
15-
thiserror = "1.0.30"
16-
num-traits = "0.2.14"
15+
thiserror = "1.0.50"
16+
num-traits = "0.2.17"
1717

1818
[dev-dependencies]
1919
assert_matches = "1.5.0"

flussab/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "flussab"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
authors = ["Jannis Harder <[email protected]>"]
55
edition = "2021"
66
description = "Utilities for writing parsers"
@@ -12,4 +12,4 @@ categories = ["parsing"]
1212

1313
[dependencies]
1414
itoap = "1.0.1"
15-
num-traits = "0.2.14"
15+
num-traits = "0.2.17"

0 commit comments

Comments
 (0)