scram::core::product_filter
Classes
| Name | |
|---|---|
| struct | scram::core::product_filter::FilterOptions |
Types
| Name | |
|---|---|
| using std::function< void(const std::vector< int > &product, double probability)> | ProductConsumer |
Functions
| Name | |
|---|---|
| double | CalculateProductProbability(const std::vector< int > & product, const Pdag & graph, double stop_threshold)<br>Calculates the probability of a product, optionally short-circuiting when it falls below a stop threshold. |
| ProductSummary | FilterProducts(const Zbdd & products, const Pdag & graph, const FilterOptions & options, const ProductConsumer & consumer ={})<br>Applies order-limit, cut-off, and adaptive filters to the provided products and returns a populated summary. |
Types Documentation
using ProductConsumer
cpp
using scram::core::product_filter::ProductConsumer = typedef std::function<void(const std::vector<int> &product, double probability)>;Functions Documentation
function CalculateProductProbability
cpp
double CalculateProductProbability(
const std::vector< int > & product,
const Pdag & graph,
double stop_threshold
)Calculates the probability of a product, optionally short-circuiting when it falls below a stop threshold.
function FilterProducts
cpp
ProductSummary FilterProducts(
const Zbdd & products,
const Pdag & graph,
const FilterOptions & options,
const ProductConsumer & consumer ={}
)Applies order-limit, cut-off, and adaptive filters to the provided products and returns a populated summary.
When a consumer is supplied, each retained product is emitted once filtering is complete. The consumer is only invoked when filters alter the product set.
Updated on 2026-09-30 at 01:14:56 +0000