#unification #union-find

ena

Union-find, congruence closure, and other unification code. Based on code from rustc.

23 releases (13 breaking)

Uses old Rust 2015

0.14.0 Apr 10, 2020
0.13.1 Sep 19, 2019
0.13.0 Mar 25, 2019
0.11.0 Nov 14, 2018
0.3.0 Oct 27, 2016

#107 in Data structures

Download history 13737/week @ 2020-11-07 15145/week @ 2020-11-14 16605/week @ 2020-11-21 15701/week @ 2020-11-28 14064/week @ 2020-12-05 13911/week @ 2020-12-12 11955/week @ 2020-12-19 11348/week @ 2020-12-26 15310/week @ 2021-01-02 14885/week @ 2021-01-09 16687/week @ 2021-01-16 17036/week @ 2021-01-23 15858/week @ 2021-01-30 16042/week @ 2021-02-06 17122/week @ 2021-02-13 17344/week @ 2021-02-20

69,998 downloads per month
Used in 272 crates (12 directly)

MIT/Apache

73KB
1.5K SLoC

Build Status

An implementation of union-find in Rust; extracted from (and used by) rustc.

Name

The name "ena" comes from the Greek word for "one".

Features

By default, you just get the union-find implementation. You can also opt-in to the following experimental features:

  • bench: use to run benchmarks (cargo bench --features bench)

License

Like rustc itself, this code is dual-licensed under the MIT and Apache licenses. Pull requests, comments, and other contributions are assumed to imply consent to those terms. Moreover, it is understood that any changes here may well be used in rustc itself under the same terms.


lib.rs:

An implementation of union-find. See the unify module for more details.

Dependencies

~210KB