tiny.pluck.bdd.topKPaths
Defined in bdd.
Source
Source: lib/pluck/src/bdd.zig:3288
zig
pub fn topKPaths( manager: *Manager, bdd: Bdd, k: usize, params: *const WmcParams, allocator: Allocator,) !Bdd { if (bdd.isFalse() or k == 0) { return Bdd.FALSE; } if (bdd.isTrue()) { return Bdd.TRUE; } var paths: std.ArrayList(BddPath) = .empty; defer paths.deinit(allocator); try enumeratePaths(manager, bdd, Bdd.TRUE, params, 1.0, &paths, allocator); std.mem.sort(BddPath, paths.items, {}, bdd_path_more_probable); var result = Bdd.FALSE; const limit = @min(k, paths.items.len); for (paths.items[0..limit]) |path| { result = try manager.bddOr(result, path.bdd); } return result;}Audit
| Definitions | 1 |
|---|---|
| Public names | 1 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |