Skip to content

scram::core::product_filter ​

Classes ​

Name
structscram::core::product_filter::FilterOptions

Types ​

Name
using std::function< void(const std::vector< int > &product, double probability)>ProductConsumer

Functions ​

Name
doubleCalculateProductProbability(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.
ProductSummaryFilterProducts(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