Bex is a rust crate for working with binary (Boolean) expressions.
This crate lets you build a complicated abstract syntax tree (AST) by working with individual Bit structs, or vectors that act like integers.
You can also "solve" these AST structures by converting them into various canonical representations:
J and Bex vs Primorial 15 is about converting "simple" factoring problems into boolean expressions and solving them with bex.
It covers the large factoring problems in examples/solve/bdd-solve.rs and the smaller tests in src/solve.rs
Fun
trait and NidFun
struct, refining the idea of storing truth tables of up to 5 inputs in a NID.ASTBase::{apply,eval}
The main change here is that BddBase
is now 100 times faster, or more, depending on your CPU count.
The BddSwarm
structure has been heavily refactored, making use of the swarm
module, and also
extracting wip::WorkState
for tracking dependencies between concurrent work-in-progress operations.
For full changelog, see CHANGELOG.md.