Skip to documentation
SLOP

tiny.pluck.bdd.weightedSample

Reference tiny.pluck bdd weightedSample

Defined in bdd.

Called byCallstest sourcelib.pluck.src.bddtest: sampling coverage - all paths f...test sourcelib.pluck.src.bddtest: sampling distribution matches W...test sourcelib.pluck.src.bddtest: weighted sample - literal guard...test sourcelib.pluck.src.bddtest: weighted sample - single variab...test sourcelib.pluck.src.bddtest: weighted sample - two variable ...+3 moreprivate sourcelib.pluck.src.bdd.WmcDenseCachedeinitprivate sourcelib.pluck.src.bdd.WmcDenseCacheinitprivate sourcelib.pluck.src.bddweightedSampleFromCacheprivate sourcelib.pluck.src.bddweightedSampleLiteralprivate sourcelib.pluck.src.bddwmcHelperbddweightedSample
Static calls · unresolved targets: 0 · external targets: 2.

Source

Source: lib/pluck/src/bdd.zig:3134

zig
pub fn weightedSample(    manager: *Manager,    bdd: Bdd,    params: *const WmcParams,    rng: std.Random,) Allocator.Error!WeightedSampleResult {    if (bdd.isTrue()) {        return WeightedSampleResult{            .sample = Bdd.TRUE,            .probability = 1.0,        };    }    if (bdd.isFalse()) {        return WeightedSampleResult{            .sample = Bdd.FALSE,            .probability = 0.0,        };    }    if (weightedSampleLiteral(manager, bdd, params)) |sample| {        return sample;    }    var cache = try WmcDenseCache.init(manager.allocator, manager.nodes.items.len);    defer cache.deinit();    const total_wmc = wmcHelper(manager, bdd, params, &cache);    if (total_wmc == 0.0) {        return WeightedSampleResult{            .sample = Bdd.FALSE,            .probability = 0.0,        };    }    return try weightedSampleFromCache(manager, bdd, params, rng, 1.0, &cache, &.{});}

Complete caller list

8 direct callers.

Audit

Definitions1
Public names1
Members0
Version26.7.0
Revisiondaab053ee433