Todo List
Member scram::core::EventTreeAnalysis::Result::p_sequence
Remove
Member scram::core::Gate::NegateArgs () noexcept
Consider in place inversion.
Member scram::core::Gate::type (Connective type)
Find the inefficient resets.
Member scram::core::Pdag::coherent (bool flag)
Implement automatic tracking/marking of coherence.
Member scram::core::Pdag::constant () const
Consider limiting access to transform functions and gates.
Member scram::core::Pdag::IsTrivial () noexcept

Enable the code by decoupling the order assignment!

Decouple the order assignment!

Member scram::core::Pdag::normal (bool flag)
Consider processing and tracking internally.
Member scram::core::Preprocessor::FilterMergeCandidates (MergeTable::Candidates *candidates) noexcept
Consider repeating until no change can be made.
Member scram::core::Preprocessor::FindOptionGroup (MergeTable::MergeGroup *all_options, MergeTable::OptionGroup *best_group) noexcept
The current logic misses opportunities that may branch with the same base option.
Member scram::core::Preprocessor::graph_
Eliminate the protected data.
Member scram::core::Preprocessor::GroupCommonArgs (const MergeTable::Collection &options, MergeTable *table) noexcept
This strategy deletes too many groups. The intersections must be considered for each option.
Member scram::core::Preprocessor::GroupDistributiveArgs (const MergeTable::Collection &options, MergeTable *table) noexcept
Evaluate various grouping strategies as in common arg merging.
Member scram::core::ProbabilityAnalysis::Analyze () noexcept
Use Boost math integration instead.
Class scram::core::RiskAnalysis::EtaResult
Replace with query (group_by).
Member scram::core::RiskAnalysis::RiskAnalysis (mef::Model *model, const Settings &settings)
Make the analysis work with a constant model.
Member scram::core::Zbdd::kBase_
Redesign vertex management and creation.
Member scram::mef::IntervalBounds
Interval bound propagation upon operations on boundary values.
Class scram::mef::RandomDeviate
Parametrize with RNG (requires mef::Expression interface change).
Member scram::mef::Serialize (const Model &model, std::FILE *out)
Implement serialization for the following unsupported constructs.
File serialization.h
Implement serialization for all MEF constructs.