#boolean #bdd #expressions #manipulating #evaluating #diagram #decision

boolean_expression

一个用于操作和评估布尔表达式和BDD的库

17个版本

使用旧的Rust 2015

0.4.4 2021年3月16日
0.4.1 2020年7月15日
0.3.10 2020年1月19日
0.3.9 2019年9月30日
0.3.0 2016年5月17日

#460 in 数学

Download history 776/week @ 2024-03-14 970/week @ 2024-03-21 890/week @ 2024-03-28 765/week @ 2024-04-04 969/week @ 2024-04-11 1201/week @ 2024-04-18 861/week @ 2024-04-25 1087/week @ 2024-05-02 943/week @ 2024-05-09 1025/week @ 2024-05-16 974/week @ 2024-05-23 1005/week @ 2024-05-30 740/week @ 2024-06-06 701/week @ 2024-06-13 831/week @ 2024-06-20 903/week @ 2024-06-27

3,318 每月下载量
20 个crates中使用(直接使用3个)

MIT 许可证

82KB
2K SLoC

boolean_expression: 一个用于布尔表达式和BDD的Rust小crate

Rust

此crate提供了布尔表达式和二进制决策图(BDD)的操作和评估,以及从布尔表达式构建BDD和从BDD构建布尔表达式(通过简单的基于立方表的简化算法)。它还有一个非常简单的基于身份的布尔表达式简化器,尽管基于立方表的简化器更有效。

boolean_expression 版权所有 (c) 2016 by Chris Fallin <[email protected]>,并按照MIT许可证发布。有关详细信息,请参阅 LICENSE

文档: 此处

Crates.io: 此处


lib.rs:

布尔表达式操作 / BDD库

此crate提供了布尔表达式和二进制决策图(BDD)的操作和评估,以及从布尔表达式构建BDD的功能。它还可以通过一套规则(如德摩根定律)或通过一个BDD和一个基于立方表的项约简的往返过程来简化布尔表达式。后者更强大,但成本也更高。

值得关注的主要部分包括

  • Expr,一个基于简单AND / OR / NOT表达式的AST枚举。
  • BDD,一个二进制决策图实现。
  • CubeList,一个支持立方表操作的底层数据类型(用于将BDD函数转换为表达式)。

依赖关系

~535KB
~11K SLoC