tiny.pluck.bdd.Manager
Defined in bdd.
API (64)
Actions
Public operations.
bddAndbddIffbddImpliesbddNotbddOrbddXorcheckLimitsclearCachecomposeconditiondeiniteqexistsgetMaxVargetMinVargetNodegetVarAtPositiongetVarPositionglobalSifthasVariablehighinitisVariteiteLimitExceededlocalSiftlownewVarnewVarAtPositionnodesAtLevelnumRecursiveCallsnumVarsprintStatsresetLimitFlagsresetStatssequentialComposesetTimeLimitsizestartIteLimitstartTimeLimitstopIteLimitstopTimeLimitswapAdjacentVarstimeLimitExceededtoJsontoStringtopVartotalNodeCount
Fields and members
Public fields and members.
allocatorcondition_cacheite_cacheite_cache_grow_atite_cache_growsite_cache_hitsite_cache_misseslimitsmax_varsmin_varsnodesnum_recursive_callsunique_tableunique_table_grow_atunique_table_growsvar_order
Source
Source: lib/pluck/src/bdd.zig:422
zig
pub const Manager = struct { const TABLE_MAX_LOAD_PERCENTAGE = 80; allocator: Allocator, nodes: std.ArrayListUnmanaged(Node), unique_table: std.HashMapUnmanaged(Node, NodeIndex, NodeHashContext, TABLE_MAX_LOAD_PERCENTAGE), unique_table_grow_at: usize, ite_cache: std.HashMapUnmanaged(IteKey, Bdd, IteKeyHashContext, TABLE_MAX_LOAD_PERCENTAGE), ite_cache_grow_at: usize, condition_cache: std.AutoHashMapUnmanaged(ConditionKey, Bdd), var_order: std.ArrayListUnmanaged(u32), min_vars: std.ArrayListUnmanaged(VarLabel), max_vars: std.ArrayListUnmanaged(VarLabel), num_recursive_calls: u64, ite_cache_hits: u64, ite_cache_misses: u64, unique_table_grows: u64, ite_cache_grows: u64, limits: LimitConfig, const INITIAL_MANAGER_CAPACITY = 4096; const INITIAL_CONDITION_CACHE_CAPACITY = 256; fn tableLoadThreshold(capacity: usize) usize { return (capacity * TABLE_MAX_LOAD_PERCENTAGE) / 100; } pub fn init(allocator: Allocator) !Manager { var nodes = std.ArrayListUnmanaged(Node).empty; errdefer nodes.deinit(allocator); var min_vars = std.ArrayListUnmanaged(VarLabel).empty; errdefer min_vars.deinit(allocator); var max_vars = std.ArrayListUnmanaged(VarLabel).empty; errdefer max_vars.deinit(allocator); try nodes.ensureTotalCapacity(allocator, INITIAL_MANAGER_CAPACITY); try min_vars.ensureTotalCapacity(allocator, INITIAL_MANAGER_CAPACITY); try max_vars.ensureTotalCapacity(allocator, INITIAL_MANAGER_CAPACITY); try nodes.append(allocator, Node.init(NO_VAR, Bdd.TRUE, Bdd.TRUE)); try min_vars.append(allocator, NO_VAR); try max_vars.append(allocator, NO_VAR); var unique_table = std.HashMapUnmanaged(Node, NodeIndex, NodeHashContext, TABLE_MAX_LOAD_PERCENTAGE){}; errdefer unique_table.deinit(allocator); try unique_table.ensureTotalCapacity(allocator, INITIAL_MANAGER_CAPACITY); var ite_cache = std.HashMapUnmanaged(IteKey, Bdd, IteKeyHashContext, TABLE_MAX_LOAD_PERCENTAGE){}; errdefer ite_cache.deinit(allocator); try ite_cache.ensureTotalCapacity(allocator, INITIAL_MANAGER_CAPACITY); var condition_cache = std.AutoHashMapUnmanaged(ConditionKey, Bdd){}; errdefer condition_cache.deinit(allocator); try condition_cache.ensureTotalCapacity(allocator, INITIAL_CONDITION_CACHE_CAPACITY); return Manager{ .allocator = allocator, .nodes = nodes, .unique_table = unique_table, .unique_table_grow_at = tableLoadThreshold(unique_table.capacity()), .ite_cache = ite_cache, .ite_cache_grow_at = tableLoadThreshold(ite_cache.capacity()), .condition_cache = condition_cache, .var_order = std.ArrayListUnmanaged(u32).empty, .min_vars = min_vars, .max_vars = max_vars, .num_recursive_calls = 0, .ite_cache_hits = 0, .ite_cache_misses = 0, .unique_table_grows = 0, .ite_cache_grows = 0, .limits = LimitConfig.init(), }; } pub fn deinit(self: *Manager) void { self.nodes.deinit(self.allocator); self.unique_table.deinit(self.allocator); self.ite_cache.deinit(self.allocator); self.condition_cache.deinit(self.allocator); self.var_order.deinit(self.allocator); self.min_vars.deinit(self.allocator); self.max_vars.deinit(self.allocator); } pub fn numVars(self: *const Manager) usize { return self.var_order.items.len; } pub fn newVar(self: *Manager, polarity: bool) Allocator.Error!Bdd { const label: VarLabel = @intCast(self.var_order.items.len); const node = Node.init(label, Bdd.FALSE, Bdd.TRUE); if (!try self.prepareVariableInsert(node)) return Bdd.FALSE; self.var_order.appendAssumeCapacity(label); const bdd = self.insertCanonicalAssumeCapacity(node); return if (polarity) bdd else bdd.neg(); } pub fn newVarAtPosition(self: *Manager, position: u32, polarity: bool) Allocator.Error!Bdd { const label: VarLabel = @intCast(self.var_order.items.len); const node = Node.init(label, Bdd.FALSE, Bdd.TRUE); if (!try self.prepareVariableInsert(node)) return Bdd.FALSE; for (self.var_order.items) |*pos| { if (pos.* >= position) { pos.* += 1; } } self.var_order.appendAssumeCapacity(position); const bdd = self.insertCanonicalAssumeCapacity(node); return if (polarity) bdd else bdd.neg(); } fn prepareVariableInsert(self: *Manager, node: Node) Allocator.Error!bool { std.debug.assert(self.unique_table.getContext(node, NodeHashContext{}) == null); if (self.limits.checkNodeGrowth(self.nodes.items.len)) return false; self.ensureCanonicalInsertCapacity() catch |err| { if (self.limits.boundedAllocationFailed()) return false; return err; }; self.var_order.ensureUnusedCapacity(self.allocator, 1) catch |err| { if (self.limits.boundedAllocationFailed()) return false; return err; }; return true; } fn getOrInsert(self: *Manager, node: Node) Allocator.Error!Bdd { if (node.low.toRaw() == node.high.toRaw()) { return node.low; } if (node.high.complement) { const canonical = Node.init( node.var_label, node.low.neg(), node.high.neg(), ); return (try self.insertCanonical(canonical)).neg(); } else { return self.insertCanonical(node); } } fn insertCanonical(self: *Manager, node: Node) Allocator.Error!Bdd { if (self.unique_table.getContext(node, NodeHashContext{})) |index| { return Bdd{ .index = @intCast(index), .complement = false }; } if (self.limits.checkNodeGrowth(self.nodes.items.len)) return Bdd.FALSE; self.ensureCanonicalInsertCapacity() catch |err| { if (self.limits.boundedAllocationFailed()) return Bdd.FALSE; return err; }; return self.insertCanonicalAssumeCapacity(node); } fn insertCanonicalAssumeCapacity(self: *Manager, node: Node) Bdd { const entry = self.unique_table.getOrPutAssumeCapacityContext(node, NodeHashContext{}); std.debug.assert(!entry.found_existing); const idx: u31 = @intCast(self.nodes.items.len); self.nodes.appendAssumeCapacity(node); const low_min = self.min_vars.items[node.low.index]; const low_max = self.max_vars.items[node.low.index]; const high_min = self.min_vars.items[node.high.index]; const high_max = self.max_vars.items[node.high.index]; var min_var = node.var_label; if (low_min != NO_VAR and low_min < min_var) min_var = low_min; if (high_min != NO_VAR and high_min < min_var) min_var = high_min; var max_var = node.var_label; if (low_max != NO_VAR and low_max > max_var) max_var = low_max; if (high_max != NO_VAR and high_max > max_var) max_var = high_max; self.min_vars.appendAssumeCapacity(min_var); self.max_vars.appendAssumeCapacity(max_var); entry.value_ptr.* = idx; return Bdd{ .index = idx, .complement = false }; } fn ensureCanonicalInsertCapacity(self: *Manager) Allocator.Error!void { if (self.nodes.items.len >= self.nodes.capacity) { const reserve = @max(self.nodes.capacity, INITIAL_MANAGER_CAPACITY); const target = self.nodes.items.len + reserve; try self.nodes.ensureTotalCapacity(self.allocator, target); try self.min_vars.ensureTotalCapacity(self.allocator, target); try self.max_vars.ensureTotalCapacity(self.allocator, target); } const count = self.unique_table.count(); if (count < self.unique_table_grow_at) return; const capacity = self.unique_table.capacity(); const reserve = @max(capacity, INITIAL_MANAGER_CAPACITY); try self.unique_table.ensureTotalCapacity(self.allocator, count + reserve); self.unique_table_grows += 1; self.unique_table_grow_at = tableLoadThreshold(self.unique_table.capacity()); } pub inline fn getNode(self: *const Manager, bdd: Bdd) Node { return self.nodes.items[bdd.index]; } pub inline fn topVar(self: *const Manager, bdd: Bdd) VarLabel { if (bdd.isConst()) return NO_VAR; return self.getNode(bdd).var_label; } pub fn getMinVar(self: *const Manager, bdd: Bdd) VarLabel { return self.min_vars.items[bdd.index]; } pub fn getMaxVar(self: *const Manager, bdd: Bdd) VarLabel { return self.max_vars.items[bdd.index]; } pub fn low(self: *const Manager, bdd: Bdd) Bdd { if (bdd.isConst()) return Bdd.FALSE; const node = self.getNode(bdd); return if (bdd.complement) node.low.neg() else node.low; } pub fn high(self: *const Manager, bdd: Bdd) Bdd { if (bdd.isConst()) return Bdd.FALSE; const node = self.getNode(bdd); return if (bdd.complement) node.high.neg() else node.high; } inline fn lessThan(self: *const Manager, a: VarLabel, b: VarLabel) bool { if (a == NO_VAR) return false; if (b == NO_VAR) return true; return self.var_order.items[a] < self.var_order.items[b]; } inline fn firstEssential(self: *const Manager, f: Bdd, g: Bdd, h: Bdd) VarLabel { const vf = self.topVar(f); const vg = self.topVar(g); const vh = self.topVar(h); var result = vf; if (self.lessThan(vg, result)) result = vg; if (self.lessThan(vh, result)) result = vh; return result; } inline fn conditionEssential(self: *const Manager, f: Bdd, lbl: VarLabel, value: bool) Bdd { if (f.isConst()) return f; const node = self.getNode(f); if (node.var_label != lbl) return f; const result = if (value) node.high else node.low; return if (f.complement) result.neg() else result; } pub fn checkLimits(self: *Manager) bool { if (self.limits.ite_limit_exceeded or self.limits.time_limit_exceeded) return true; if (self.limits.checkIteLimit(self.num_recursive_calls)) { return true; } if (self.num_recursive_calls % 1000 == 0) { if (self.limits.checkTimeLimit()) { return true; } } return false; } pub fn iteLimitExceeded(self: *const Manager) bool { return self.limits.ite_limit_exceeded; } pub fn timeLimitExceeded(self: *const Manager) bool { return self.limits.time_limit_exceeded; } pub fn setTimeLimit(self: *Manager, limit_seconds: f64) void { self.limits.time_limit = limit_seconds; self.limits.time_limit_exceeded = false; } pub fn startTimeLimit(self: *Manager, limit_seconds: f64) void { self.limits.startTimeLimit(limit_seconds); } pub fn stopTimeLimit(self: *Manager) void { self.limits.stopTimeLimit(); } pub fn resetLimitFlags(self: *Manager) void { self.limits.time_limit_exceeded = false; self.limits.ite_limit_exceeded = false; } pub fn startIteLimit(self: *Manager, limit: u64) void { self.limits.startIteLimit( limit, self.num_recursive_calls, self.nodes.items.len, self.ite_cache.count(), ); } pub fn stopIteLimit(self: *Manager) void { self.limits.stopIteLimit(); } pub fn ite(self: *Manager, f: Bdd, g: Bdd, h: Bdd) Allocator.Error!Bdd { self.num_recursive_calls += 1; if (self.limits.ite_limit_exceeded or self.limits.time_limit_exceeded) { return Bdd.FALSE; } if (self.num_recursive_calls % 1000 == 0) { if (self.checkLimits()) return Bdd.FALSE; } const helper = LessThanHelper{ .manager = self }; const normalized = NormalizedIte.normalize(f, g, h, helper); if (normalized.is_const) { return normalized.const_result; } if (self.ite_cache.get(normalized.key)) |cached| { self.ite_cache_hits += 1; return if (normalized.complement_result) cached.neg() else cached; } self.ite_cache_misses += 1; if (self.limits.reserveIteCacheGrowth(self.ite_cache.count())) return Bdd.FALSE; defer self.limits.releaseIteCacheGrowth(); const top_var = self.firstEssential(f, g, h); const fx_t = self.conditionEssential(f, top_var, true); const gx_t = self.conditionEssential(g, top_var, true); const hx_t = self.conditionEssential(h, top_var, true); const fx_f = self.conditionEssential(f, top_var, false); const gx_f = self.conditionEssential(g, top_var, false); const hx_f = self.conditionEssential(h, top_var, false); const t = try self.ite(fx_t, gx_t, hx_t); if (self.limits.ite_limit_exceeded or self.limits.time_limit_exceeded) { return Bdd.FALSE; } const e = try self.ite(fx_f, gx_f, hx_f); if (self.limits.ite_limit_exceeded or self.limits.time_limit_exceeded) { return Bdd.FALSE; } if (t.toRaw() == e.toRaw()) { const cache_result = if (normalized.complement_result) t.neg() else t; if (!try self.putIteCacheNoClobber(normalized.key, cache_result)) return Bdd.FALSE; return t; } const result = try self.getOrInsert(Node.init(top_var, e, t)); if (self.limits.ite_limit_exceeded) return Bdd.FALSE; const cache_result = if (normalized.complement_result) result.neg() else result; if (!try self.putIteCacheNoClobber(normalized.key, cache_result)) return Bdd.FALSE; return result; } fn putIteCacheNoClobber(self: *Manager, key: IteKey, value: Bdd) Allocator.Error!bool { if (!try self.ensureReservedIteCacheCapacity()) return false; self.ite_cache.putAssumeCapacityNoClobber(key, value); return true; } fn ensureReservedIteCacheCapacity(self: *Manager) Allocator.Error!bool { const reservations = @max(self.limits.ite_cache_reservations, 1); std.debug.assert(reservations <= std.math.maxInt(u32)); const projected = self.ite_cache.count() +| reservations; if (projected <= self.ite_cache_grow_at) return true; const capacity = self.ite_cache.capacity(); const reserve = @max(capacity, INITIAL_MANAGER_CAPACITY); const target = @max(projected, self.ite_cache.count() +| reserve); const target_size = std.math.cast(u32, target) orelse { if (self.limits.boundedAllocationFailed()) return false; return error.OutOfMemory; }; self.ite_cache.ensureTotalCapacity(self.allocator, target_size) catch |err| { if (self.limits.boundedAllocationFailed()) return false; return err; }; self.ite_cache_grows += 1; self.ite_cache_grow_at = tableLoadThreshold(self.ite_cache.capacity()); return true; } pub fn bddAnd(self: *Manager, a: Bdd, b: Bdd) Allocator.Error!Bdd { if (a.isFalse() or b.isFalse()) return Bdd.FALSE; if (a.isTrue()) return b; if (b.isTrue()) return a; if (a.toRaw() == b.toRaw()) return a; if (a.neg().toRaw() == b.toRaw()) return Bdd.FALSE; var left = a; var right = b; if (right.toRaw() < left.toRaw()) { const tmp = left; left = right; right = tmp; } return self.ite(left, right, Bdd.FALSE); } pub fn bddOr(self: *Manager, a: Bdd, b: Bdd) Allocator.Error!Bdd { if (a.isTrue() or b.isTrue()) return Bdd.TRUE; if (a.isFalse()) return b; if (b.isFalse()) return a; if (a.toRaw() == b.toRaw()) return a; if (a.neg().toRaw() == b.toRaw()) return Bdd.TRUE; var left = a; var right = b; if (right.toRaw() < left.toRaw()) { const tmp = left; left = right; right = tmp; } return self.ite(left, Bdd.TRUE, right); } pub fn bddNot(_: *Manager, a: Bdd) Bdd { return a.neg(); } pub fn bddXor(self: *Manager, a: Bdd, b: Bdd) Allocator.Error!Bdd { if (a.isFalse()) return b; if (b.isFalse()) return a; if (a.isTrue()) return b.neg(); if (b.isTrue()) return a.neg(); if (a.toRaw() == b.toRaw()) return Bdd.FALSE; if (a.neg().toRaw() == b.toRaw()) return Bdd.TRUE; var left = a; var right = b; if (right.toRaw() < left.toRaw()) { const tmp = left; left = right; right = tmp; } return self.ite(left, right.neg(), right); } pub fn bddIff(self: *Manager, a: Bdd, b: Bdd) Allocator.Error!Bdd { if (a.isFalse()) return b.neg(); if (b.isFalse()) return a.neg(); if (a.isTrue()) return b; if (b.isTrue()) return a; if (a.toRaw() == b.toRaw()) return Bdd.TRUE; if (a.neg().toRaw() == b.toRaw()) return Bdd.FALSE; var left = a; var right = b; if (right.toRaw() < left.toRaw()) { const tmp = left; left = right; right = tmp; } return self.ite(left, right, right.neg()); } pub fn bddImplies(self: *Manager, a: Bdd, b: Bdd) Allocator.Error!Bdd { if (a.isFalse() or b.isTrue()) return Bdd.TRUE; if (a.isTrue()) return b; if (b.isFalse()) return a.neg(); if (a.toRaw() == b.toRaw()) return Bdd.TRUE; if (a.neg().toRaw() == b.toRaw()) return b; return self.bddOr(a.neg(), b); } pub fn eq(self: *const Manager, a: Bdd, b: Bdd) bool { _ = self; return a.toRaw() == b.toRaw(); } pub fn exists(self: *Manager, f: Bdd, variable: VarLabel) Allocator.Error!Bdd { const f_true = try self.condition(f, variable, true); const f_false = try self.condition(f, variable, false); return self.bddOr(f_true, f_false); } pub fn condition(self: *Manager, f: Bdd, variable: VarLabel, value: bool) Allocator.Error!Bdd { return self.conditionHelper(f, variable, value); } fn conditionHelper(self: *Manager, f: Bdd, variable: VarLabel, value: bool) Allocator.Error!Bdd { if (f.isConst()) return f; const node = self.getNode(f); if (self.lessThan(variable, node.var_label)) { return f; } if (node.var_label == variable) { const result = if (value) node.high else node.low; return if (f.complement) result.neg() else result; } const key = ConditionKey.init(f, variable, value); if (self.condition_cache.get(key)) |cached| { return cached; } const low_result = try self.conditionHelper( if (f.complement) node.low.neg() else node.low, variable, value, ); const high_result = try self.conditionHelper( if (f.complement) node.high.neg() else node.high, variable, value, ); if (low_result.toRaw() == high_result.toRaw()) { if (!try self.putConditionCache(key, low_result)) return Bdd.FALSE; return low_result; } const result = try self.getOrInsert(Node.init(node.var_label, low_result, high_result)); if (self.limits.ite_limit_exceeded) return Bdd.FALSE; if (!try self.putConditionCache(key, result)) return Bdd.FALSE; return result; } fn putConditionCache(self: *Manager, key: ConditionKey, value: Bdd) Allocator.Error!bool { self.condition_cache.put(self.allocator, key, value) catch |err| { if (self.limits.boundedAllocationFailed()) return false; return err; }; return true; } pub fn compose(self: *Manager, f: Bdd, variable: VarLabel, g: Bdd) Allocator.Error!Bdd { if (f.isConst()) return f; const node = self.getNode(f); if (self.lessThan(variable, node.var_label)) { return f; } const f_low = if (f.complement) node.low.neg() else node.low; const f_high = if (f.complement) node.high.neg() else node.high; if (node.var_label == variable) { return self.ite(g, f_high, f_low); } const low_result = try self.compose(f_low, variable, g); const high_result = try self.compose(f_high, variable, g); if (low_result.toRaw() == high_result.toRaw()) { return low_result; } return self.getOrInsert(Node.init(node.var_label, low_result, high_result)); } pub fn sequentialCompose( self: *Manager, f: Bdd, variables: []const VarLabel, replacements: []const Bdd, ) Allocator.Error!Bdd { var result = f; for (variables, replacements) |variable, replacement| { result = try self.compose(result, variable, replacement); } return result; } pub fn isVar(self: *const Manager, bdd: Bdd) bool { if (bdd.isConst()) return false; const node = self.getNode(bdd); const low_raw = if (bdd.complement) node.low.neg() else node.low; const high_raw = if (bdd.complement) node.high.neg() else node.high; return low_raw.isFalse() and high_raw.isTrue(); } pub fn hasVariable(self: *const Manager, bdd: Bdd, variable: VarLabel) bool { if (bdd.isConst()) return false; const node = self.getNode(bdd); if (node.var_label == variable) return true; return self.hasVariable(node.low.toReg(), variable) or self.hasVariable(node.high.toReg(), variable); } pub fn size(self: *const Manager, bdd: Bdd) usize { if (bdd.isConst()) return 0; var visited = std.AutoHashMap(u31, void).init(self.allocator); defer visited.deinit(); return self.sizeHelper(bdd, &visited); } fn sizeHelper(self: *const Manager, bdd: Bdd, visited: *std.AutoHashMap(u31, void)) usize { if (bdd.isConst()) return 0; if (visited.contains(bdd.index)) return 0; visited.put(bdd.index, {}) catch return 0; const node = self.getNode(bdd); return 1 + self.sizeHelper(node.low.toReg(), visited) + self.sizeHelper(node.high.toReg(), visited); } pub fn numRecursiveCalls(self: *const Manager) u64 { return self.num_recursive_calls; } pub fn resetStats(self: *Manager) void { self.num_recursive_calls = 0; } pub fn clearCache(self: *Manager) void { self.ite_cache.clearRetainingCapacity(); self.ite_cache_grow_at = tableLoadThreshold(self.ite_cache.capacity()); self.condition_cache.clearRetainingCapacity(); } pub fn getVarPosition(self: *const Manager, var_label: VarLabel) u32 { if (var_label >= self.var_order.items.len) return @intCast(self.var_order.items.len); return self.var_order.items[var_label]; } pub fn totalNodeCount(self: *const Manager) usize { return if (self.nodes.items.len > 0) self.nodes.items.len - 1 else 0; } pub fn getVarAtPosition(self: *const Manager, position: u32) ?VarLabel { for (self.var_order.items, 0..) |pos, label| { if (pos == position) return @intCast(label); } return null; } pub fn nodesAtLevel(self: *const Manager, var_label: VarLabel) usize { var count: usize = 0; for (self.nodes.items[1..]) |node| { if (node.var_label == var_label) count += 1; } return count; } pub fn swapAdjacentVars(self: *Manager, upper_pos: u32, allocator: Allocator) !i64 { const lower_pos = upper_pos + 1; const var_upper = self.getVarAtPosition(upper_pos) orelse return 0; const var_lower = self.getVarAtPosition(lower_pos) orelse return 0; const size_before = self.totalNodeCount(); var nodes_to_process: std.ArrayList(u31) = .empty; defer nodes_to_process.deinit(allocator); for (self.nodes.items[1..], 1..) |node, idx| { if (node.var_label == var_upper) { try nodes_to_process.append(allocator, @intCast(idx)); } } for (nodes_to_process.items) |idx| { const node = self.nodes.items[idx]; const high_child = node.high; const low_child = node.low; var f11: Bdd = undefined; var f10: Bdd = undefined; var f01: Bdd = undefined; var f00: Bdd = undefined; if (!high_child.isConst() and self.getNode(high_child).var_label == var_lower) { const high_node = self.getNode(high_child); f11 = if (high_child.complement) high_node.high.neg() else high_node.high; f10 = if (high_child.complement) high_node.low.neg() else high_node.low; } else { f11 = high_child; f10 = high_child; } if (!low_child.isConst() and self.getNode(low_child).var_label == var_lower) { const low_node = self.getNode(low_child); f01 = if (low_child.complement) low_node.high.neg() else low_node.high; f00 = if (low_child.complement) low_node.low.neg() else low_node.low; } else { f01 = low_child; f00 = low_child; } const new_high = try self.getOrInsert(Node.init(var_upper, f01, f11)); const new_low = try self.getOrInsert(Node.init(var_upper, f00, f10)); _ = try self.getOrInsert(Node.init(var_lower, new_low, new_high)); } self.var_order.items[var_upper] = lower_pos; self.var_order.items[var_lower] = upper_pos; self.clearCache(); const size_after = self.totalNodeCount(); return @as(i64, @intCast(size_after)) - @as(i64, @intCast(size_before)); } pub fn localSift(self: *Manager, var_label: VarLabel, config: SiftConfig, allocator: Allocator) !SiftResult { const original_pos = self.getVarPosition(var_label); const num_vars = self.numVars(); if (num_vars <= 1) { return SiftResult{ .original_pos = original_pos, .final_pos = original_pos, .size_delta = 0, .aborted = false, }; } const original_size = self.totalNodeCount(); var best_pos = original_pos; var best_size = original_size; var current_pos = original_pos; var aborted = false; var moves_down: u32 = 0; while (moves_down < config.max_distance and current_pos + 1 < num_vars) { const delta = try self.swapAdjacentVars(current_pos, allocator); current_pos += 1; moves_down += 1; const current_size = self.totalNodeCount(); if (current_size < best_size) { best_size = current_size; best_pos = current_pos; } if (original_size > 0) { const blowup = @as(f64, @floatFromInt(current_size)) / @as(f64, @floatFromInt(original_size)); if (blowup > config.max_blowup) { aborted = true; break; } } _ = delta; } while (current_pos > original_pos) { _ = try self.swapAdjacentVars(current_pos - 1, allocator); current_pos -= 1; } if (!aborted) { var moves_up: u32 = 0; while (moves_up < config.max_distance and current_pos > 0) { _ = try self.swapAdjacentVars(current_pos - 1, allocator); current_pos -= 1; moves_up += 1; const current_size = self.totalNodeCount(); if (current_size < best_size) { best_size = current_size; best_pos = current_pos; } if (original_size > 0) { const blowup = @as(f64, @floatFromInt(current_size)) / @as(f64, @floatFromInt(original_size)); if (blowup > config.max_blowup) { aborted = true; break; } } } } while (current_pos < best_pos) { _ = try self.swapAdjacentVars(current_pos, allocator); current_pos += 1; } while (current_pos > best_pos) { _ = try self.swapAdjacentVars(current_pos - 1, allocator); current_pos -= 1; } const final_size = self.totalNodeCount(); return SiftResult{ .original_pos = original_pos, .final_pos = best_pos, .size_delta = @as(i64, @intCast(final_size)) - @as(i64, @intCast(original_size)), .aborted = aborted, }; } pub fn globalSift(self: *Manager, config: SiftConfig, allocator: Allocator, max_passes: u32) !GlobalSiftResult { const num_vars = self.numVars(); if (num_vars <= 1) { const node_count = self.totalNodeCount(); return GlobalSiftResult{ .total_size_delta = 0, .vars_sifted = 0, .vars_improved = 0, .original_size = node_count, .final_size = node_count, }; } const original_size = self.totalNodeCount(); var total_delta: i64 = 0; var vars_sifted: u32 = 0; var vars_improved: u32 = 0; var pass: u32 = 0; while (pass < max_passes) : (pass += 1) { var improved_this_pass = false; var var_idx: VarLabel = 0; while (var_idx < num_vars) : (var_idx += 1) { const result = try self.localSift(var_idx, config, allocator); vars_sifted += 1; if (result.size_delta < 0) { vars_improved += 1; improved_this_pass = true; } total_delta += result.size_delta; } if (!improved_this_pass) break; } const final_size = self.totalNodeCount(); return GlobalSiftResult{ .total_size_delta = total_delta, .vars_sifted = vars_sifted, .vars_improved = vars_improved, .original_size = original_size, .final_size = final_size, }; } pub fn toString(self: *const Manager, bdd: Bdd, allocator: Allocator) ![]u8 { var buffer = std.Io.Writer.Allocating.init(allocator); errdefer buffer.deinit(); try self.toStringHelper(bdd, &buffer.writer); return try buffer.toOwnedSlice(); } fn toStringHelper(self: *const Manager, bdd: Bdd, writer: anytype) !void { if (bdd.isTrue()) { try writer.writeAll("T"); } else if (bdd.isFalse()) { try writer.writeAll("F"); } else { const node = self.getNode(bdd); if (bdd.complement) { try writer.writeAll("!"); } try writer.print("({d}, ", .{node.var_label}); try self.toStringHelper(node.high, writer); try writer.writeAll(", "); try self.toStringHelper(node.low, writer); try writer.writeAll(")"); } } pub fn toJson(self: *const Manager, bdd: Bdd, allocator: Allocator) ![]u8 { return writeBddJson(allocator, bdd, self.nodes.items); } pub fn printStats(self: *const Manager, allocator: Allocator) ![]u8 { var buffer = std.Io.Writer.Allocating.init(allocator); errdefer buffer.deinit(); const writer = &buffer.writer; try writer.print("BDD Manager Stats:\n", .{}); try writer.print(" Variables: {d}\n", .{self.var_order.items.len}); try writer.print(" Nodes: {d}\n", .{self.nodes.items.len}); try writer.print(" Unique table entries: {d}\n", .{self.unique_table.count()}); try writer.print(" ITE cache entries: {d}\n", .{self.ite_cache.count()}); try writer.print(" Condition cache entries: {d}\n", .{self.condition_cache.count()}); try writer.print(" Recursive calls: {d}\n", .{self.num_recursive_calls}); try writer.print(" ITE cache hits: {d}\n", .{self.ite_cache_hits}); try writer.print(" ITE cache misses: {d}\n", .{self.ite_cache_misses}); try writer.print(" Unique table grows: {d}\n", .{self.unique_table_grows}); try writer.print(" ITE cache grows: {d}\n", .{self.ite_cache_grows}); const total = self.ite_cache_hits + self.ite_cache_misses; if (total > 0) { const hit_ratio = @as(f64, @floatFromInt(self.ite_cache_hits)) / @as(f64, @floatFromInt(total)) * 100.0; try writer.print(" ITE cache hit ratio: {d:.1}%\n", .{hit_ratio}); } return try buffer.toOwnedSlice(); }};Complete caller list for bdd.Manager.bddAnd
51 direct callers.
lib.pluck.src.bdd.test_CNF_benchmark_-_3-SAT_clause[function] — test source atlib/pluck/src/bdd.zig:4121in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_basic_caching_correctness[function] — test source atlib/pluck/src/bdd.zig:4325in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_correctness[function] — test source atlib/pluck/src/bdd.zig:4541in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_removes_recursive_dependent_entries[function] — test source atlib/pluck/src/bdd.zig:4613in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_manager_change_clears_stale_entries[function] — test source atlib/pluck/src/bdd.zig:4477in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_multiple_queries_same_BDD[function] — test source atlib/pluck/src/bdd.zig:4511in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_and_operation[function] — test source atlib/pluck/src/bdd.zig:1517in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_compose[function] — test source atlib/pluck/src/bdd.zig:1754in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_basic[function] — test source atlib/pluck/src/bdd.zig:3852in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_existential_quantification[function] — test source atlib/pluck/src/bdd.zig:1737in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3925in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_has_variable[function] — test source atlib/pluck/src/bdd.zig:1770in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_min/max_variable_tracking[function] — test source atlib/pluck/src/bdd.zig:1904in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:2027in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_nodesAtLevel[function] — test source atlib/pluck/src/bdd.zig:1840in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_recursive_call_counting[function] — test source atlib/pluck/src/bdd.zig:2010in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sequentialCompose_behavior[function] — test source atlib/pluck/src/bdd.zig:2045in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_size[function] — test source atlib/pluck/src/bdd.zig:1787in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_swapAdjacentVars_basic[function] — test source atlib/pluck/src/bdd.zig:1855in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_compound_formula[function] — test source atlib/pluck/src/bdd.zig:3815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_AND_formula[function] — test source atlib/pluck/src/bdd.zig:3544in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_covers_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:4094in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_totalNodeCount[function] — test source atlib/pluck/src/bdd.zig:1822in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3409in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_basic_gradient[function] — test source atlib/pluck/src/bdd.zig:2892in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_three_variables_with_chain_rule[function] — test source atlib/pluck/src/bdd.zig:2948in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_AND[function] — test source atlib/pluck/src/bdd.zig:2815in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_ThunkRegistry_refineVariable_restricts_guards[function] — test source atlib/pluck/src/evaluator.zig:4446in nearest public ownertiny.pluck.evaluatorlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.profiling.internal.factor.test_BENCHMARK:_WeightDD_refinement_budget[function] — test source atlib/pluck/src/profiling/internal/factor.zig:697in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_ThunkRegistry_refineVariable[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:872in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.toplevel.query.test_query_thunk_cache_clearing_drops_manager-owned_worlds[function] — test source atlib/pluck/src/toplevel/query.zig:1799in nearest public ownertiny.pluck.toplevel.querylib.pluck.src.weight.test_wmcWeighted_matches_brute_force_on_guarded_weight[function] — test source atlib/pluck/src/weight.zig:1010in nearest public ownertiny.pluck.weight_ddlib.pluck.src.wmc.test_parallel_WMC_handles_exact_divisibility_by_thread_count[function] — test source atlib/pluck/src/wmc.zig:224in nearest public ownertiny.pluck.wmclib.pluck.src.wmc.test_parallel_WMC_produces_same_results_as_sequential[function] — test source atlib/pluck/src/wmc.zig:173in nearest public ownertiny.pluck.wmc
Complete caller list for bdd.Manager.bddImplies
7 direct callers.
lib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_correctness_-_complex_formula[function] — test source atlib/pluck/src/bdd.zig:4147in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3409in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_flip_produces_path-condition-independent_guards[function] — test source atlib/pluck/src/evaluator.zig:2811in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_respects_path_condition_-_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3556in nearest public ownertiny.pluck.evaluatorlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bdd
Complete caller list for bdd.Manager.bddNot
10 direct callers.
lib.pluck.src.bdd.test_complement_edge_WMC_-_double_negation[function] — test source atlib/pluck/src/bdd.zig:4171in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_correctness_-_complex_formula[function] — test source atlib/pluck/src/bdd.zig:4147in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_negation[function] — test source atlib/pluck/src/bdd.zig:1503in nearest public ownertiny.pluck.bddlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.profiling.internal.factor.test_BENCHMARK:_WeightDD_refinement_budget[function] — test source atlib/pluck/src/profiling/internal/factor.zig:697in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.weight.test_WeightDD_refineWeight_respects_budget[function] — test source atlib/pluck/src/weight.zig:977in nearest public ownertiny.pluck.weight_dd
Complete caller list for bdd.Manager.bddOr
28 direct callers.
tiny.pluck.bdd.Manager.bddImplies[method] atlib/pluck/src/bdd.zig:918tiny.pluck.bdd.Manager.exists[method] atlib/pluck/src/bdd.zig:932lib.pluck.src.bdd.test_CNF_benchmark_-_3-SAT_clause[function] — test source atlib/pluck/src/bdd.zig:4121in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_manager_change_clears_stale_entries[function] — test source atlib/pluck/src/bdd.zig:4477in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_min/max_variable_tracking[function] — test source atlib/pluck/src/bdd.zig:1904in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_or_operation[function] — test source atlib/pluck/src/bdd.zig:1539in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_simple_BDD[function] — test source atlib/pluck/src/bdd.zig:3522in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_covers_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:4094in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_deterministic_sequence[function] — test source atlib/pluck/src/bdd.zig:3435in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_three_variables_with_chain_rule[function] — test source atlib/pluck/src/bdd.zig:2948in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_OR[function] — test source atlib/pluck/src/bdd.zig:2833in nearest public ownertiny.pluck.bddlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.weight.test_wmcWeightedWithCache_matches_per-call_WMC[function] — test source atlib/pluck/src/weight.zig:1037in nearest public ownertiny.pluck.weight_dd
Complete caller list for bdd.Manager.bddXor
7 direct callers.
lib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_XOR_formula[function] — test source atlib/pluck/src/bdd.zig:3976in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_iff_and_xor[function] — test source atlib/pluck/src/bdd.zig:1559in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_larger_formula[function] — test source atlib/pluck/src/bdd.zig:3031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_sum_to_one[function] — test source atlib/pluck/src/bdd.zig:2871in nearest public ownertiny.pluck.bddlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bdd
Complete caller list for bdd.Manager.condition
12 direct callers.
tiny.pluck.bdd.Manager.exists[method] atlib/pluck/src/bdd.zig:932lib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_XOR_chain_hard_instances[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:584in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_conditionHelper_cache_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:127in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_larger_BDD_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:429in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_multi-step_conditioning_sequence[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:167in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.weight.WeightDD.buildFromGuardListInner[method] — private source atlib/pluck/src/weight.zig:242in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.WeightDD.buildFromGuardListInnerLimited[method] — private source atlib/pluck/src/weight.zig:317in nearest public ownertiny.pluck.weight_dd
Complete caller list for bdd.Manager.deinit
170 direct callers.
lib.pluck.src.bdd.initializeManager[function] — private source atlib/pluck/src/bdd.zig:1469in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_CNF_benchmark_-_3-SAT_clause[function] — test source atlib/pluck/src/bdd.zig:4121in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_basic_caching_correctness[function] — test source atlib/pluck/src/bdd.zig:4325in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_invalidation_on_weight_change[function] — test source atlib/pluck/src/bdd.zig:4356in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_size_and_trimming[function] — test source atlib/pluck/src/bdd.zig:4381in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_clear_resets_everything[function] — test source atlib/pluck/src/bdd.zig:4696in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_correctness_on_complex_BDD[function] — test source atlib/pluck/src/bdd.zig:4455in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_hit_rate_calculation[function] — test source atlib/pluck/src/bdd.zig:4430in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_correctness[function] — test source atlib/pluck/src/bdd.zig:4541in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_keeps_cache_version_stable[function] — test source atlib/pluck/src/bdd.zig:4644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_preserves_unrelated_cache_entries[function] — test source atlib/pluck/src/bdd.zig:4575in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_removes_recursive_dependent_entries[function] — test source atlib/pluck/src/bdd.zig:4613in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_manager_change_clears_stale_entries[function] — test source atlib/pluck/src/bdd.zig:4477in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_memory_growth_with_lazy_invalidation[function] — test source atlib/pluck/src/bdd.zig:4671in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_multiple_queries_same_BDD[function] — test source atlib/pluck/src/bdd.zig:4511in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_structure_version_invalidation[function] — test source atlib/pluck/src/bdd.zig:4406in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_and_operation[function] — test source atlib/pluck/src/bdd.zig:1517in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_basic_constants[function] — test source atlib/pluck/src/bdd.zig:1475in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_canonical_table_reserves_bulk_capacity_after_startup[function] — test source atlib/pluck/src/bdd.zig:1644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_-_double_negation[function] — test source atlib/pluck/src/bdd.zig:4171in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_correctness_-_complex_formula[function] — test source atlib/pluck/src/bdd.zig:4147in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_compose[function] — test source atlib/pluck/src/bdd.zig:1754in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_allocation_failure_is_observable[function] — test source atlib/pluck/src/bdd.zig:3727in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_basic[function] — test source atlib/pluck/src/bdd.zig:3852in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_constants[function] — test source atlib/pluck/src/bdd.zig:3874in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_existential_quantification[function] — test source atlib/pluck/src/bdd.zig:1737in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_XOR_formula[function] — test source atlib/pluck/src/bdd.zig:3976in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3888in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3925in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_fixture_-_alarm_model_WMC[function] — test source atlib/pluck/src/bdd.zig:4271in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_fixture_-_conditional_model_WMC[function] — test source atlib/pluck/src/bdd.zig:4307in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_getVarPosition_and_getVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:1803in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_has_variable[function] — test source atlib/pluck/src/bdd.zig:1770in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_iff_and_xor[function] — test source atlib/pluck/src/bdd.zig:1559in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_ite_cache_reserves_bulk_capacity_after_startup[function] — test source atlib/pluck/src/bdd.zig:1617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_returns_to_best_position[function] — test source atlib/pluck/src/bdd.zig:1887in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_single_variable[function] — test source atlib/pluck/src/bdd.zig:1873in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_cache_growth_quota_admits_the_exact_maximum[function] — test source atlib/pluck/src/bdd.zig:3670in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_min/max_variable_tracking[function] — test source atlib/pluck/src/bdd.zig:1904in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_negation[function] — test source atlib/pluck/src/bdd.zig:1503in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:2027in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_nodesAtLevel[function] — test source atlib/pluck/src/bdd.zig:1840in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_or_operation[function] — test source atlib/pluck/src/bdd.zig:1539in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_printStats[function] — test source atlib/pluck/src/bdd.zig:3836in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_recursive_call_counting[function] — test source atlib/pluck/src/bdd.zig:2010in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_distribution_matches_WMC_-_simple_verification[function] — test source atlib/pluck/src/bdd.zig:4031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sequentialCompose_behavior[function] — test source atlib/pluck/src/bdd.zig:2045in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_size[function] — test source atlib/pluck/src/bdd.zig:1787in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_swapAdjacentVars_basic[function] — test source atlib/pluck/src/bdd.zig:1855in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_compound_formula[function] — test source atlib/pluck/src/bdd.zig:3815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_constants[function] — test source atlib/pluck/src/bdd.zig:3785in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_variable[function] — test source atlib/pluck/src/bdd.zig:3799in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_AND_formula[function] — test source atlib/pluck/src/bdd.zig:3544in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_simple_BDD[function] — test source atlib/pluck/src/bdd.zig:3522in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_covers_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:4094in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_totalNodeCount[function] — test source atlib/pluck/src/bdd.zig:1822in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_unbounded_manager_reports_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:3694in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_variable_creation[function] — test source atlib/pluck/src/bdd.zig:1488in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_literal_guard_avoids_allocation[function] — test source atlib/pluck/src/bdd.zig:3379in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3357in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3409in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_deterministic_sequence[function] — test source atlib/pluck/src/bdd.zig:3435in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_basic_gradient[function] — test source atlib/pluck/src/bdd.zig:2892in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_negation[function] — test source atlib/pluck/src/bdd.zig:2984in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_three_variables_with_chain_rule[function] — test source atlib/pluck/src/bdd.zig:2948in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_releases_temporaries_once_on_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:2922in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_constant_BDDs[function] — test source atlib/pluck/src/bdd.zig:2783in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_larger_formula[function] — test source atlib/pluck/src/bdd.zig:3031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:2796in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_sum_to_one[function] — test source atlib/pluck/src/bdd.zig:2871in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_AND[function] — test source atlib/pluck/src/bdd.zig:2815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_OR[function] — test source atlib/pluck/src/bdd.zig:2833in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_IntDist_enumeration_-_deterministic_value[function] — test source atlib/pluck/src/evaluator.zig:4035in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_IntDist_enumeration_-_weighted_values[function] — test source atlib/pluck/src/evaluator.zig:4070in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_ThunkRegistry_basic_operations[function] — test source atlib/pluck/src/evaluator.zig:4400in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_ThunkRegistry_refineVariable_restricts_guards[function] — test source atlib/pluck/src/evaluator.zig:4446in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_bindMonad_frees_input_worlds_slice[function] — test source atlib/pluck/src/evaluator.zig:2855in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_combineIntDists_-_combines_two_IntDists_under_different_guards[function] — test source atlib/pluck/src/evaluator.zig:4114in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_enumerateIntDist_-_deterministic_value[function] — test source atlib/pluck/src/evaluator.zig:4150in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_enumerateIntDist_-_non-deterministic[function] — test source atlib/pluck/src/evaluator.zig:4178in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_WeightDD_composes_multiple_factors[function] — test source atlib/pluck/src/evaluator.zig:3810in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_WeightDD_respects_branch_guards[function] — test source atlib/pluck/src/evaluator.zig:3851in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_defers_WeightDD_refinement_when_node_limit_is_small[function] — test source atlib/pluck/src/evaluator.zig:3734in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_prunes_zero-weight_branch[function] — test source atlib/pluck/src/evaluator.zig:3775in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_supports_guarded_weights[function] — test source atlib/pluck/src/evaluator.zig:3699in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_findInsertPosition_respects_use_reverse_order_flag[function] — test source atlib/pluck/src/evaluator.zig:2751in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_flip_produces_path-condition-independent_guards[function] — test source atlib/pluck/src/evaluator.zig:2811in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_extracts_arguments_from_Cons_constructor[function] — test source atlib/pluck/src/evaluator.zig:4301in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_extracts_empty_arguments_from_nullary_constructor[function] — test source atlib/pluck/src/evaluator.zig:4274in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_with_S(O)_returns_single-element_list[function] — test source atlib/pluck/src/evaluator.zig:4358in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_constructor_extracts_constructor_name_from_ADT_value[function] — test source atlib/pluck/src/evaluator.zig:4218in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_constructor_extracts_constructor_name_from_Cons_value[function] — test source atlib/pluck/src/evaluator.zig:4245in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_if_then_else_monad[function] — test source atlib/pluck/src/evaluator.zig:2313in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_int_dist_eq_with_different_values_returns_False[function] — test source atlib/pluck/src/evaluator.zig:2992in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_int_dist_eq_with_equal_values_returns_True[function] — test source atlib/pluck/src/evaluator.zig:2952in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_constructor_worlds_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2451in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_list_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2525in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_nested_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2630in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_identical_IntDist_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2392in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_structurally_identical_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2338in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_creates_IntDist_with_correct_bits[function] — test source atlib/pluck/src/evaluator.zig:2917in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_WMC_gives_correct_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3219in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_int_dist_eq_works_correctly[function] — test source atlib/pluck/src/evaluator.zig:3273in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_validates_infinite_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3483in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_validates_negative_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3448in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_four_values_verifies_cascade_correctness[function] — test source atlib/pluck/src/evaluator.zig:3387in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_single_value_is_deterministic[function] — test source atlib/pluck/src/evaluator.zig:3127in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_three_values[function] — test source atlib/pluck/src/evaluator.zig:3331in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_two_equal_probability_values[function] — test source atlib/pluck/src/evaluator.zig:3169in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_parallel_WMC_respects_threshold[function] — test source atlib/pluck/src/evaluator.zig:3518in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_deterministic_False[function] — test source atlib/pluck/src/evaluator.zig:3063in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_deterministic_True[function] — test source atlib/pluck/src/evaluator.zig:3032in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_flip(0.5)[function] — test source atlib/pluck/src/evaluator.zig:3094in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pure_monad[function] — test source atlib/pluck/src/evaluator.zig:2291in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_boolean_chain[function] — test source atlib/pluck/src/evaluator.zig:3920in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_int_dist_eq[function] — test source atlib/pluck/src/evaluator.zig:3957in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_nested_if/case[function] — test source atlib/pluck/src/evaluator.zig:3997in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_-_repro_program_level_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3636in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_respects_path_condition_-_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3556in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_returns_equivalent_guards_on_hit[function] — test source atlib/pluck/src/evaluator.zig:2887in nearest public ownertiny.pluck.evaluatorlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.lpsmc.test_selectSuspension_returns_null_for_empty_suspensions[function] — test source atlib/pluck/src/lpsmc.zig:1206in nearest public ownertiny.pluck.lpsmclib.pluck.src.profiling.internal.factor.runExactFactorBenchParsed[function] — private source atlib/pluck/src/profiling/internal/factor.zig:281in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.factor.runExactParsed[function] — private source atlib/pluck/src/profiling/internal/factor.zig:189in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.factor.test_BENCHMARK:_WeightDD_refinement_budget[function] — test source atlib/pluck/src/profiling/internal/factor.zig:697in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_BDD_complexity_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:237in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_ThunkRegistry_refineVariable[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:872in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_at_larger_scales[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:523in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_cache_invalidation[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:305in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_persistent_cache_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:58in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_XOR_chain_hard_instances[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:584in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_conditionHelper_cache_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:127in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_larger_BDD_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:429in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_multi-step_conditioning_sequence[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:167in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.weighted.test_BENCHMARK:_weighted_sampling_cache_reuse[function] — test source atlib/pluck/src/profiling/internal/weighted.zig:22in nearest public ownerlib.pluck.src.profiling.internal.weightedlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.toplevel.query.test_query_thunk_cache_clearing_drops_manager-owned_worlds[function] — test source atlib/pluck/src/toplevel/query.zig:1799in nearest public ownertiny.pluck.toplevel.querylib.pluck.src.weight.test_WeightDD_buildFromGuardList_and_lookup[function] — test source atlib/pluck/src/weight.zig:958in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_canonicalizes_leaves_and_branches[function] — test source atlib/pluck/src/weight.zig:935in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_ite_matches_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1144in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_mul/add_match_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1097in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_nodeCount_reports_reachable_nodes[function] — test source atlib/pluck/src/weight.zig:1188in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_refineWeight_respects_budget[function] — test source atlib/pluck/src/weight.zig:977in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_rejects_NaN_weights[function] — test source atlib/pluck/src/weight.zig:995in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeightedWithCache_matches_per-call_WMC[function] — test source atlib/pluck/src/weight.zig:1037in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_handles_weight_var_outside_BDD[function] — test source atlib/pluck/src/weight.zig:1070in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_matches_brute_force_on_guarded_weight[function] — test source atlib/pluck/src/weight.zig:1010in nearest public ownertiny.pluck.weight_ddlib.pluck.src.wmc.test_parallel_WMC_handles_exact_divisibility_by_thread_count[function] — test source atlib/pluck/src/wmc.zig:224in nearest public ownertiny.pluck.wmclib.pluck.src.wmc.test_parallel_WMC_produces_same_results_as_sequential[function] — test source atlib/pluck/src/wmc.zig:173in nearest public ownertiny.pluck.wmc
Complete caller list for bdd.Manager.eq
31 direct callers.
lib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_and_operation[function] — test source atlib/pluck/src/bdd.zig:1517in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_-_double_negation[function] — test source atlib/pluck/src/bdd.zig:4171in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_compose[function] — test source atlib/pluck/src/bdd.zig:1754in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_existential_quantification[function] — test source atlib/pluck/src/bdd.zig:1737in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_iff_and_xor[function] — test source atlib/pluck/src/bdd.zig:1559in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_or_operation[function] — test source atlib/pluck/src/bdd.zig:1539in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_distribution_matches_WMC_-_simple_verification[function] — test source atlib/pluck/src/bdd.zig:4031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sequentialCompose_behavior[function] — test source atlib/pluck/src/bdd.zig:2045in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_AND_formula[function] — test source atlib/pluck/src/bdd.zig:3544in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_simple_BDD[function] — test source atlib/pluck/src/bdd.zig:3522in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_literal_guard_avoids_allocation[function] — test source atlib/pluck/src/bdd.zig:3379in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3357in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_deterministic_sequence[function] — test source atlib/pluck/src/bdd.zig:3435in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_ThunkRegistry_refineVariable_restricts_guards[function] — test source atlib/pluck/src/evaluator.zig:4446in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_flip_produces_path-condition-independent_guards[function] — test source atlib/pluck/src/evaluator.zig:2811in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_two_equal_probability_values[function] — test source atlib/pluck/src/evaluator.zig:3169in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_returns_equivalent_guards_on_hit[function] — test source atlib/pluck/src/evaluator.zig:2887in nearest public ownertiny.pluck.evaluator
Complete caller list for bdd.Manager.getNode
12 direct callers.
tiny.pluck.bdd.Manager.compose[method] atlib/pluck/src/bdd.zig:993lib.pluck.src.bdd.Manager.conditionEssential[method] — private source atlib/pluck/src/bdd.zig:694in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.Manager.conditionHelper[method] — private source atlib/pluck/src/bdd.zig:942in nearest public ownertiny.pluck.bddtiny.pluck.bdd.Manager.hasVariable[method] atlib/pluck/src/bdd.zig:1040tiny.pluck.bdd.Manager.high[method] atlib/pluck/src/bdd.zig:671tiny.pluck.bdd.Manager.isVar[method] atlib/pluck/src/bdd.zig:1032tiny.pluck.bdd.Manager.low[method] atlib/pluck/src/bdd.zig:665lib.pluck.src.bdd.Manager.sizeHelper[method] — private source atlib/pluck/src/bdd.zig:1059in nearest public ownertiny.pluck.bddtiny.pluck.bdd.Manager.swapAdjacentVars[method] atlib/pluck/src/bdd.zig:1108lib.pluck.src.bdd.Manager.toStringHelper[method] — private source atlib/pluck/src/bdd.zig:1310in nearest public ownertiny.pluck.bddtiny.pluck.bdd.Manager.topVar[method] atlib/pluck/src/bdd.zig:652lib.pluck.src.weight.WeightDD.iteWithCache[method] — private source atlib/pluck/src/weight.zig:657in nearest public ownertiny.pluck.weight_dd
Complete caller list for bdd.Manager.getVarPosition
8 direct callers.
tiny.pluck.bdd.Manager.localSift[method] atlib/pluck/src/bdd.zig:1168lib.pluck.src.bdd.test_getVarPosition_and_getVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:1803in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_returns_to_best_position[function] — test source atlib/pluck/src/bdd.zig:1887in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_swapAdjacentVars_basic[function] — test source atlib/pluck/src/bdd.zig:1855in nearest public ownertiny.pluck.bddlib.pluck.src.weight.WeightDD.buildFromGuardListInner[method] — private source atlib/pluck/src/weight.zig:242in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.WeightDD.buildFromGuardListInnerLimited[method] — private source atlib/pluck/src/weight.zig:317in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.WeightDD.pickNextVar[method] — private source atlib/pluck/src/weight.zig:734in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.WeightDD.pickNextVar3[method] — private source atlib/pluck/src/weight.zig:743in nearest public ownertiny.pluck.weight_dd
Complete caller list for bdd.Manager.init
175 direct callers.
lib.pluck.src.bdd.initializeManager[function] — private source atlib/pluck/src/bdd.zig:1469in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_CNF_benchmark_-_3-SAT_clause[function] — test source atlib/pluck/src/bdd.zig:4121in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_basic_caching_correctness[function] — test source atlib/pluck/src/bdd.zig:4325in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_invalidation_on_weight_change[function] — test source atlib/pluck/src/bdd.zig:4356in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_size_and_trimming[function] — test source atlib/pluck/src/bdd.zig:4381in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_clear_resets_everything[function] — test source atlib/pluck/src/bdd.zig:4696in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_correctness_on_complex_BDD[function] — test source atlib/pluck/src/bdd.zig:4455in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_hit_rate_calculation[function] — test source atlib/pluck/src/bdd.zig:4430in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_correctness[function] — test source atlib/pluck/src/bdd.zig:4541in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_keeps_cache_version_stable[function] — test source atlib/pluck/src/bdd.zig:4644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_preserves_unrelated_cache_entries[function] — test source atlib/pluck/src/bdd.zig:4575in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_removes_recursive_dependent_entries[function] — test source atlib/pluck/src/bdd.zig:4613in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_manager_change_clears_stale_entries[function] — test source atlib/pluck/src/bdd.zig:4477in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_memory_growth_with_lazy_invalidation[function] — test source atlib/pluck/src/bdd.zig:4671in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_multiple_queries_same_BDD[function] — test source atlib/pluck/src/bdd.zig:4511in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_structure_version_invalidation[function] — test source atlib/pluck/src/bdd.zig:4406in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_and_operation[function] — test source atlib/pluck/src/bdd.zig:1517in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_basic_constants[function] — test source atlib/pluck/src/bdd.zig:1475in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_canonical_table_reserves_bulk_capacity_after_startup[function] — test source atlib/pluck/src/bdd.zig:1644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_-_double_negation[function] — test source atlib/pluck/src/bdd.zig:4171in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_correctness_-_complex_formula[function] — test source atlib/pluck/src/bdd.zig:4147in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_compose[function] — test source atlib/pluck/src/bdd.zig:1754in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_allocation_failure_is_observable[function] — test source atlib/pluck/src/bdd.zig:3727in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_basic[function] — test source atlib/pluck/src/bdd.zig:3852in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_constants[function] — test source atlib/pluck/src/bdd.zig:3874in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_existential_quantification[function] — test source atlib/pluck/src/bdd.zig:1737in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_XOR_formula[function] — test source atlib/pluck/src/bdd.zig:3976in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3888in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3925in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_fixture_-_alarm_model_WMC[function] — test source atlib/pluck/src/bdd.zig:4271in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_fixture_-_conditional_model_WMC[function] — test source atlib/pluck/src/bdd.zig:4307in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_getVarPosition_and_getVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:1803in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_has_variable[function] — test source atlib/pluck/src/bdd.zig:1770in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_iff_and_xor[function] — test source atlib/pluck/src/bdd.zig:1559in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_ite_cache_reserves_bulk_capacity_after_startup[function] — test source atlib/pluck/src/bdd.zig:1617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_returns_to_best_position[function] — test source atlib/pluck/src/bdd.zig:1887in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_single_variable[function] — test source atlib/pluck/src/bdd.zig:1873in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_cache_growth_quota_admits_the_exact_maximum[function] — test source atlib/pluck/src/bdd.zig:3670in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_min/max_variable_tracking[function] — test source atlib/pluck/src/bdd.zig:1904in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_negation[function] — test source atlib/pluck/src/bdd.zig:1503in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:2027in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_nodesAtLevel[function] — test source atlib/pluck/src/bdd.zig:1840in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_or_operation[function] — test source atlib/pluck/src/bdd.zig:1539in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_printStats[function] — test source atlib/pluck/src/bdd.zig:3836in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_recursive_call_counting[function] — test source atlib/pluck/src/bdd.zig:2010in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_distribution_matches_WMC_-_simple_verification[function] — test source atlib/pluck/src/bdd.zig:4031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sequentialCompose_behavior[function] — test source atlib/pluck/src/bdd.zig:2045in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_size[function] — test source atlib/pluck/src/bdd.zig:1787in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_swapAdjacentVars_basic[function] — test source atlib/pluck/src/bdd.zig:1855in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_compound_formula[function] — test source atlib/pluck/src/bdd.zig:3815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_constants[function] — test source atlib/pluck/src/bdd.zig:3785in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_variable[function] — test source atlib/pluck/src/bdd.zig:3799in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_AND_formula[function] — test source atlib/pluck/src/bdd.zig:3544in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_simple_BDD[function] — test source atlib/pluck/src/bdd.zig:3522in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_covers_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:4094in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_totalNodeCount[function] — test source atlib/pluck/src/bdd.zig:1822in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_unbounded_manager_reports_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:3694in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_variable_creation[function] — test source atlib/pluck/src/bdd.zig:1488in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_literal_guard_avoids_allocation[function] — test source atlib/pluck/src/bdd.zig:3379in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3357in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3409in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_deterministic_sequence[function] — test source atlib/pluck/src/bdd.zig:3435in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_basic_gradient[function] — test source atlib/pluck/src/bdd.zig:2892in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_negation[function] — test source atlib/pluck/src/bdd.zig:2984in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_three_variables_with_chain_rule[function] — test source atlib/pluck/src/bdd.zig:2948in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_releases_temporaries_once_on_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:2922in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_constant_BDDs[function] — test source atlib/pluck/src/bdd.zig:2783in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_larger_formula[function] — test source atlib/pluck/src/bdd.zig:3031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:2796in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_sum_to_one[function] — test source atlib/pluck/src/bdd.zig:2871in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_AND[function] — test source atlib/pluck/src/bdd.zig:2815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_OR[function] — test source atlib/pluck/src/bdd.zig:2833in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_IntDist_enumeration_-_deterministic_value[function] — test source atlib/pluck/src/evaluator.zig:4035in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_IntDist_enumeration_-_weighted_values[function] — test source atlib/pluck/src/evaluator.zig:4070in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_ThunkRegistry_basic_operations[function] — test source atlib/pluck/src/evaluator.zig:4400in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_ThunkRegistry_refineVariable_restricts_guards[function] — test source atlib/pluck/src/evaluator.zig:4446in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_bindMonad_frees_input_worlds_slice[function] — test source atlib/pluck/src/evaluator.zig:2855in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_combineIntDists_-_combines_two_IntDists_under_different_guards[function] — test source atlib/pluck/src/evaluator.zig:4114in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_enumerateIntDist_-_deterministic_value[function] — test source atlib/pluck/src/evaluator.zig:4150in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_enumerateIntDist_-_non-deterministic[function] — test source atlib/pluck/src/evaluator.zig:4178in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_WeightDD_composes_multiple_factors[function] — test source atlib/pluck/src/evaluator.zig:3810in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_WeightDD_respects_branch_guards[function] — test source atlib/pluck/src/evaluator.zig:3851in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_defers_WeightDD_refinement_when_node_limit_is_small[function] — test source atlib/pluck/src/evaluator.zig:3734in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_prunes_zero-weight_branch[function] — test source atlib/pluck/src/evaluator.zig:3775in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_factor_supports_guarded_weights[function] — test source atlib/pluck/src/evaluator.zig:3699in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_findInsertPosition_respects_use_reverse_order_flag[function] — test source atlib/pluck/src/evaluator.zig:2751in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_flip_produces_path-condition-independent_guards[function] — test source atlib/pluck/src/evaluator.zig:2811in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_extracts_arguments_from_Cons_constructor[function] — test source atlib/pluck/src/evaluator.zig:4301in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_extracts_empty_arguments_from_nullary_constructor[function] — test source atlib/pluck/src/evaluator.zig:4274in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_args_with_S(O)_returns_single-element_list[function] — test source atlib/pluck/src/evaluator.zig:4358in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_constructor_extracts_constructor_name_from_ADT_value[function] — test source atlib/pluck/src/evaluator.zig:4218in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_get_constructor_extracts_constructor_name_from_Cons_value[function] — test source atlib/pluck/src/evaluator.zig:4245in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_if_then_else_monad[function] — test source atlib/pluck/src/evaluator.zig:2313in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_int_dist_eq_with_different_values_returns_False[function] — test source atlib/pluck/src/evaluator.zig:2992in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_int_dist_eq_with_equal_values_returns_True[function] — test source atlib/pluck/src/evaluator.zig:2952in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_constructor_worlds_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2451in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_list_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2525in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_nested_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2630in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_identical_IntDist_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2392in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_structurally_identical_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2338in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_creates_IntDist_with_correct_bits[function] — test source atlib/pluck/src/evaluator.zig:2917in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_WMC_gives_correct_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3219in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_int_dist_eq_works_correctly[function] — test source atlib/pluck/src/evaluator.zig:3273in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_validates_infinite_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3483in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_validates_negative_probabilities[function] — test source atlib/pluck/src/evaluator.zig:3448in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_four_values_verifies_cascade_correctness[function] — test source atlib/pluck/src/evaluator.zig:3387in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_single_value_is_deterministic[function] — test source atlib/pluck/src/evaluator.zig:3127in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_three_values[function] — test source atlib/pluck/src/evaluator.zig:3331in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_mk_int_weighted_with_two_equal_probability_values[function] — test source atlib/pluck/src/evaluator.zig:3169in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_parallel_WMC_respects_threshold[function] — test source atlib/pluck/src/evaluator.zig:3518in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_deterministic_False[function] — test source atlib/pluck/src/evaluator.zig:3063in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_deterministic_True[function] — test source atlib/pluck/src/evaluator.zig:3032in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pbool_with_flip(0.5)[function] — test source atlib/pluck/src/evaluator.zig:3094in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_pure_monad[function] — test source atlib/pluck/src/evaluator.zig:2291in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_boolean_chain[function] — test source atlib/pluck/src/evaluator.zig:3920in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_int_dist_eq[function] — test source atlib/pluck/src/evaluator.zig:3957in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_symbolic_weight_compiler_handles_nested_if/case[function] — test source atlib/pluck/src/evaluator.zig:3997in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_-_repro_program_level_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3636in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_respects_path_condition_-_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3556in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_returns_equivalent_guards_on_hit[function] — test source atlib/pluck/src/evaluator.zig:2887in nearest public ownertiny.pluck.evaluatorlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.lpsmc.test_selectSuspension_returns_null_for_empty_suspensions[function] — test source atlib/pluck/src/lpsmc.zig:1206in nearest public ownertiny.pluck.lpsmclib.pluck.src.profiling.internal.factor.runExactFactorBenchParsed[function] — private source atlib/pluck/src/profiling/internal/factor.zig:281in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.factor.runExactParsed[function] — private source atlib/pluck/src/profiling/internal/factor.zig:189in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.factor.test_BENCHMARK:_WeightDD_refinement_budget[function] — test source atlib/pluck/src/profiling/internal/factor.zig:697in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_BDD_complexity_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:237in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_ThunkRegistry_refineVariable[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:872in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_at_larger_scales[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:523in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_cache_invalidation[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:305in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_WmcContext_persistent_cache_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:58in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_XOR_chain_hard_instances[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:584in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_conditionHelper_cache_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:127in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_larger_BDD_scaling[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:429in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_multi-step_conditioning_sequence[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:167in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.profiling.internal.weighted.test_BENCHMARK:_weighted_sampling_cache_reuse[function] — test source atlib/pluck/src/profiling/internal/weighted.zig:22in nearest public ownerlib.pluck.src.profiling.internal.weightedlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddtiny.pluck.query_context.initQueryContext[function] atlib/pluck/src/query.zig:129tiny.pluck.toplevel.lifecycle.init[function] atlib/pluck/src/toplevel/lifecycle.zig:29tiny.pluck.toplevel.lifecycle.initWorker[method] atlib/pluck/src/toplevel/lifecycle.zig:68tiny.pluck.toplevel.lifecycle.reset[method] atlib/pluck/src/toplevel/lifecycle.zig:191tiny.pluck.toplevel.lifecycle.resetManagerForQuery[method] atlib/pluck/src/toplevel/lifecycle.zig:210lib.pluck.src.toplevel.query.test_query_thunk_cache_clearing_drops_manager-owned_worlds[function] — test source atlib/pluck/src/toplevel/query.zig:1799in nearest public ownertiny.pluck.toplevel.querylib.pluck.src.weight.test_WeightDD_buildFromGuardList_and_lookup[function] — test source atlib/pluck/src/weight.zig:958in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_canonicalizes_leaves_and_branches[function] — test source atlib/pluck/src/weight.zig:935in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_ite_matches_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1144in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_mul/add_match_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1097in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_nodeCount_reports_reachable_nodes[function] — test source atlib/pluck/src/weight.zig:1188in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_refineWeight_respects_budget[function] — test source atlib/pluck/src/weight.zig:977in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_rejects_NaN_weights[function] — test source atlib/pluck/src/weight.zig:995in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeightedWithCache_matches_per-call_WMC[function] — test source atlib/pluck/src/weight.zig:1037in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_handles_weight_var_outside_BDD[function] — test source atlib/pluck/src/weight.zig:1070in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_matches_brute_force_on_guarded_weight[function] — test source atlib/pluck/src/weight.zig:1010in nearest public ownertiny.pluck.weight_ddlib.pluck.src.wmc.test_parallel_WMC_handles_exact_divisibility_by_thread_count[function] — test source atlib/pluck/src/wmc.zig:224in nearest public ownertiny.pluck.wmclib.pluck.src.wmc.test_parallel_WMC_produces_same_results_as_sequential[function] — test source atlib/pluck/src/wmc.zig:173in nearest public ownertiny.pluck.wmc
Complete caller list for bdd.Manager.ite
7 direct callers.
tiny.pluck.bdd.Manager.bddAnd[method] atlib/pluck/src/bdd.zig:844tiny.pluck.bdd.Manager.bddIff[method] atlib/pluck/src/bdd.zig:900tiny.pluck.bdd.Manager.bddOr[method] atlib/pluck/src/bdd.zig:861tiny.pluck.bdd.Manager.bddXor[method] atlib/pluck/src/bdd.zig:882tiny.pluck.bdd.Manager.compose[method] atlib/pluck/src/bdd.zig:993lib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bdd
Complete call list for bdd.Manager.ite
9 direct calls.
tiny.pluck.bdd.LimitConfig.releaseIteCacheGrowth[method] atlib/pluck/src/bdd.zig:388tiny.pluck.bdd.LimitConfig.reserveIteCacheGrowth[method] atlib/pluck/src/bdd.zig:371tiny.pluck.bdd.Manager.checkLimits[method] atlib/pluck/src/bdd.zig:703lib.pluck.src.bdd.Manager.conditionEssential[method] — private source atlib/pluck/src/bdd.zig:694in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.Manager.firstEssential[method] — private source atlib/pluck/src/bdd.zig:683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.Manager.getOrInsert[method] — private source atlib/pluck/src/bdd.zig:572in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.Manager.putIteCacheNoClobber[method] — private source atlib/pluck/src/bdd.zig:816in nearest public ownertiny.pluck.bddtiny.pluck.bdd.Node.init[function] atlib/pluck/src/bdd.zig:96lib.pluck.src.bdd.NormalizedIte.normalize[function] — private source atlib/pluck/src/bdd.zig:171in nearest public ownertiny.pluck.bdd
Complete caller list for bdd.Manager.iteLimitExceeded
8 direct callers.
lib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_allocation_failure_is_observable[function] — test source atlib/pluck/src/bdd.zig:3727in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_cache_growth_quota_admits_the_exact_maximum[function] — test source atlib/pluck/src/bdd.zig:3670in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_unbounded_manager_reports_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:3694in nearest public ownertiny.pluck.bdd
Complete caller list for bdd.Manager.newVar
108 direct callers.
lib.pluck.src.bdd.test_CNF_benchmark_-_3-SAT_clause[function] — test source atlib/pluck/src/bdd.zig:4121in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_basic_caching_correctness[function] — test source atlib/pluck/src/bdd.zig:4325in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_invalidation_on_weight_change[function] — test source atlib/pluck/src/bdd.zig:4356in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_cache_size_and_trimming[function] — test source atlib/pluck/src/bdd.zig:4381in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_clear_resets_everything[function] — test source atlib/pluck/src/bdd.zig:4696in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_hit_rate_calculation[function] — test source atlib/pluck/src/bdd.zig:4430in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_correctness[function] — test source atlib/pluck/src/bdd.zig:4541in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_keeps_cache_version_stable[function] — test source atlib/pluck/src/bdd.zig:4644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_preserves_unrelated_cache_entries[function] — test source atlib/pluck/src/bdd.zig:4575in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_invalidateForVars_removes_recursive_dependent_entries[function] — test source atlib/pluck/src/bdd.zig:4613in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_manager_change_clears_stale_entries[function] — test source atlib/pluck/src/bdd.zig:4477in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_memory_growth_with_lazy_invalidation[function] — test source atlib/pluck/src/bdd.zig:4671in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_multiple_queries_same_BDD[function] — test source atlib/pluck/src/bdd.zig:4511in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_WmcContext_-_structure_version_invalidation[function] — test source atlib/pluck/src/bdd.zig:4406in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_AND_(a_OR_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4192in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_absorption_law:_a_OR_(a_AND_b)_=_a[function] — test source atlib/pluck/src/bdd.zig:4206in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_and_operation[function] — test source atlib/pluck/src/bdd.zig:1517in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_binary_boolean_fast_paths_avoid_trivial_ite_work[function] — test source atlib/pluck/src/bdd.zig:1580in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_canonical_table_reserves_bulk_capacity_after_startup[function] — test source atlib/pluck/src/bdd.zig:1644in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_-_double_negation[function] — test source atlib/pluck/src/bdd.zig:4171in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complement_edge_WMC_correctness_-_complex_formula[function] — test source atlib/pluck/src/bdd.zig:4147in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_complemented_edge_preservation[function] — test source atlib/pluck/src/bdd.zig:1933in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_compose[function] — test source atlib/pluck/src/bdd.zig:1754in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_(restrict)[function] — test source atlib/pluck/src/bdd.zig:1683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_with_shared_subgraphs[function] — test source atlib/pluck/src/bdd.zig:1700in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_consensus_theorem:_(a_AND_b)_OR_(!a_AND_c)_OR_(b_AND_c)_=_(a_AND_b)_OR_(!a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4239in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_de_morgan's_laws[function] — test source atlib/pluck/src/bdd.zig:1951in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_deepCopy_-_basic[function] — test source atlib/pluck/src/bdd.zig:3852in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_distributive_law:_a_AND_(b_OR_c)_=_(a_AND_b)_OR_(a_AND_c)[function] — test source atlib/pluck/src/bdd.zig:4220in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_existential_quantification[function] — test source atlib/pluck/src/bdd.zig:1737in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_XOR_formula[function] — test source atlib/pluck/src/bdd.zig:3976in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3888in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_finite_difference_derivative_validation_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3925in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_getVarPosition_and_getVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:1803in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_has_variable[function] — test source atlib/pluck/src/bdd.zig:1770in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_iff_and_xor[function] — test source atlib/pluck/src/bdd.zig:1559in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_implies_operation[function] — test source atlib/pluck/src/bdd.zig:1987in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_returns_to_best_position[function] — test source atlib/pluck/src/bdd.zig:1887in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_localSift_single_variable[function] — test source atlib/pluck/src/bdd.zig:1873in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_min/max_variable_tracking[function] — test source atlib/pluck/src/bdd.zig:1904in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_negation[function] — test source atlib/pluck/src/bdd.zig:1503in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:2027in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition_preserves_existing_BDDs[function] — test source atlib/pluck/src/bdd.zig:2078in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_nodesAtLevel[function] — test source atlib/pluck/src/bdd.zig:1840in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_or_operation[function] — test source atlib/pluck/src/bdd.zig:1539in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_printStats[function] — test source atlib/pluck/src/bdd.zig:3836in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_recursive_call_counting[function] — test source atlib/pluck/src/bdd.zig:2010in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_coverage_-_all_paths_found_for_OR[function] — test source atlib/pluck/src/bdd.zig:4058in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sampling_distribution_matches_WMC_-_simple_verification[function] — test source atlib/pluck/src/bdd.zig:4031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_sequentialCompose_behavior[function] — test source atlib/pluck/src/bdd.zig:2045in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_simple_equality:_(a_OR_b)_AND_a_=_a[function] — test source atlib/pluck/src/bdd.zig:1669in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_size[function] — test source atlib/pluck/src/bdd.zig:1787in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_swapAdjacentVars_basic[function] — test source atlib/pluck/src/bdd.zig:1855in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_three_variable_formula[function] — test source atlib/pluck/src/bdd.zig:1968in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_time_limit_API[function] — test source atlib/pluck/src/bdd.zig:3749in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_compound_formula[function] — test source atlib/pluck/src/bdd.zig:3815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_toJson_-_variable[function] — test source atlib/pluck/src/bdd.zig:3799in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_AND_formula[function] — test source atlib/pluck/src/bdd.zig:3544in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_-_simple_BDD[function] — test source atlib/pluck/src/bdd.zig:3522in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_top_k_paths_covers_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:4094in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_totalNodeCount[function] — test source atlib/pluck/src/bdd.zig:1822in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_unbounded_manager_reports_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:3694in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_variable_creation[function] — test source atlib/pluck/src/bdd.zig:1488in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_literal_guard_avoids_allocation[function] — test source atlib/pluck/src/bdd.zig:3379in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:3357in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sample_-_two_variable_AND[function] — test source atlib/pluck/src/bdd.zig:3409in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_deterministic_sequence[function] — test source atlib/pluck/src/bdd.zig:3435in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_weighted_sampler_-_frequency_matches_exact_WMC[function] — test source atlib/pluck/src/bdd.zig:3471in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_basic_gradient[function] — test source atlib/pluck/src/bdd.zig:2892in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_negation[function] — test source atlib/pluck/src/bdd.zig:2984in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_-_three_variables_with_chain_rule[function] — test source atlib/pluck/src/bdd.zig:2948in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_dual_releases_temporaries_once_on_allocation_failure[function] — test source atlib/pluck/src/bdd.zig:2922in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_larger_formula[function] — test source atlib/pluck/src/bdd.zig:3031in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_single_variable[function] — test source atlib/pluck/src/bdd.zig:2796in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_sum_to_one[function] — test source atlib/pluck/src/bdd.zig:2871in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_AND[function] — test source atlib/pluck/src/bdd.zig:2815in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_wmc_scalar_-_two_variables_OR[function] — test source atlib/pluck/src/bdd.zig:2833in nearest public ownertiny.pluck.bddlib.pluck.src.evaluator.test_ThunkRegistry_refineVariable_restricts_guards[function] — test source atlib/pluck/src/evaluator.zig:4446in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_combineIntDists_-_combines_two_IntDists_under_different_guards[function] — test source atlib/pluck/src/evaluator.zig:4114in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_enumerateIntDist_-_non-deterministic[function] — test source atlib/pluck/src/evaluator.zig:4178in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_flip_produces_path-condition-independent_guards[function] — test source atlib/pluck/src/evaluator.zig:2811in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_if_then_else_monad[function] — test source atlib/pluck/src/evaluator.zig:2313in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_constructor_worlds_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2451in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_list_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2525in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_collapses_nested_constructors_with_thunk_unions[function] — test source atlib/pluck/src/evaluator.zig:2630in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_identical_IntDist_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2392in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_joinMonad_merges_structurally_identical_values_-_pluck-rs-ui3[function] — test source atlib/pluck/src/evaluator.zig:2338in nearest public ownertiny.pluck.evaluatorlib.pluck.src.evaluator.test_thunk_cache_respects_path_condition_-_regression_for_pluck-rs-0cb[function] — test source atlib/pluck/src/evaluator.zig:3556in nearest public ownertiny.pluck.evaluatorlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.profiling.internal.factor.test_BENCHMARK:_WeightDD_refinement_budget[function] — test source atlib/pluck/src/profiling/internal/factor.zig:697in nearest public ownerlib.pluck.src.profiling.internal.factorlib.pluck.src.profiling.internal.incremental.test_BENCHMARK:_ThunkRegistry_refineVariable[function] — test source atlib/pluck/src/profiling/internal/incremental.zig:872in nearest public ownerlib.pluck.src.profiling.internal.incrementallib.pluck.src.properties.bdd.TruthTableProperty.property[function] — private source atlib/pluck/src/properties/bdd.zig:141in nearest public ownerlib.pluck.src.properties.bddlib.pluck.src.toplevel.query.test_query_thunk_cache_clearing_drops_manager-owned_worlds[function] — test source atlib/pluck/src/toplevel/query.zig:1799in nearest public ownertiny.pluck.toplevel.querylib.pluck.src.weight.test_WeightDD_buildFromGuardList_and_lookup[function] — test source atlib/pluck/src/weight.zig:958in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_ite_matches_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1144in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_mul/add_match_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1097in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_nodeCount_reports_reachable_nodes[function] — test source atlib/pluck/src/weight.zig:1188in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_refineWeight_respects_budget[function] — test source atlib/pluck/src/weight.zig:977in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeightedWithCache_matches_per-call_WMC[function] — test source atlib/pluck/src/weight.zig:1037in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_handles_weight_var_outside_BDD[function] — test source atlib/pluck/src/weight.zig:1070in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_matches_brute_force_on_guarded_weight[function] — test source atlib/pluck/src/weight.zig:1010in nearest public ownertiny.pluck.weight_ddlib.pluck.src.wmc.test_parallel_WMC_handles_exact_divisibility_by_thread_count[function] — test source atlib/pluck/src/wmc.zig:224in nearest public ownertiny.pluck.wmclib.pluck.src.wmc.test_parallel_WMC_produces_same_results_as_sequential[function] — test source atlib/pluck/src/wmc.zig:173in nearest public ownertiny.pluck.wmc
Complete caller list for bdd.Manager.startIteLimit
7 direct callers.
lib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_allocation_failure_is_observable[function] — test source atlib/pluck/src/bdd.zig:3727in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_cache_growth_quota_admits_the_exact_maximum[function] — test source atlib/pluck/src/bdd.zig:3670in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bdd
Complete caller list for bdd.Manager.stopIteLimit
7 direct callers.
lib.pluck.src.bdd.test_bounded_manager_maps_allocation_failure_to_its_quota_surface[function] — test source atlib/pluck/src/bdd.zig:3709in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_condition_cache_allocation_failure_is_observable[function] — test source atlib/pluck/src/bdd.zig:3727in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_cache_growth_quota_admits_the_exact_maximum[function] — test source atlib/pluck/src/bdd.zig:3670in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_limit_enforcement[function] — test source atlib/pluck/src/bdd.zig:3595in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_ITE_operation_ceiling_rejects_later_work[function] — test source atlib/pluck/src/bdd.zig:3617in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_limits_integration[function] — test source atlib/pluck/src/bdd.zig:3577in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_manager_node_growth_quota_admits_the_exact_maximum_without_partial_variables[function] — test source atlib/pluck/src/bdd.zig:3640in nearest public ownertiny.pluck.bdd
Complete caller list for bdd.Manager.topVar
12 direct callers.
lib.pluck.src.bdd.LessThanHelper.call[method] — private source atlib/pluck/src/bdd.zig:258in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.Manager.firstEssential[method] — private source atlib/pluck/src/bdd.zig:683in nearest public ownertiny.pluck.bddlib.pluck.src.bdd.test_newVarAtPosition[function] — test source atlib/pluck/src/bdd.zig:2027in nearest public ownertiny.pluck.bddlib.pluck.src.lpsmc.test_mixTopKAndSample_preserves_unbiased_weighting[function] — test source atlib/pluck/src/lpsmc.zig:1241in nearest public ownertiny.pluck.lpsmclib.pluck.src.weight.WeightDD.buildFromGuardListInner[method] — private source atlib/pluck/src/weight.zig:242in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.WeightDD.buildFromGuardListInnerLimited[method] — private source atlib/pluck/src/weight.zig:317in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_ite_matches_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1144in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_mul/add_match_brute_force_enumeration[function] — test source atlib/pluck/src/weight.zig:1097in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_WeightDD_nodeCount_reports_reachable_nodes[function] — test source atlib/pluck/src/weight.zig:1188in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeightedWithCache_matches_per-call_WMC[function] — test source atlib/pluck/src/weight.zig:1037in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_handles_weight_var_outside_BDD[function] — test source atlib/pluck/src/weight.zig:1070in nearest public ownertiny.pluck.weight_ddlib.pluck.src.weight.test_wmcWeighted_matches_brute_force_on_guarded_weight[function] — test source atlib/pluck/src/weight.zig:1010in nearest public ownertiny.pluck.weight_dd
Audit
| Definitions | 49 |
|---|---|
| Public names | 49 |
| Members | 16 |
| Version | 26.7.0 |
| Revision | daab053ee433 |