Skip to documentation
SLOP

tiny.pluck.bdd.topKPaths

Reference tiny.pluck bdd topKPaths

Defined in bdd.

Called byCallstest sourcelib.pluck.src.bddtest: top k paths - AND formulatest sourcelib.pluck.src.bddtest: top k paths - simple BDDtest sourcelib.pluck.src.bddtest: top k paths covers exact WMClpsmcselectSuspensionprivate sourcelib.pluck.src.bddenumeratePathsbddtopKPaths
Static calls · unresolved targets: 1 · external targets: 3.

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

Definitions1
Public names1
Members0
Version26.7.0
Revisiondaab053ee433