bool embed_command::execute() { const auto settings = make_settings(); const auto statistics = std::make_shared<properties>(); if ( opts.is_set( "only_lines" ) ) { auto lines = calculate_additional_lines( bdds.current(), settings, statistics ); std::cout << boost::format( "[i] required lines: %d" ) % lines << std::endl; } else { if ( rcbdds.empty() || opts.is_set( "new" ) ) { rcbdds.extend(); } embed_bdd( rcbdds.current(), bdds.current(), settings, statistics ); } std::cout << boost::format( "[i] run-time: %.2f secs" ) % statistics->get<double>( "runtime" ) << std::endl; return true; }
bool required_lines_command::execute() { const auto& bdds = env->store<bdd_function_t>(); const auto settings = make_settings(); additional = calculate_additional_lines( bdds.current(), settings, statistics ); std::cout << "[i] inputs: " << statistics->get<unsigned>( "num_inputs" ) << std::endl << "[i] outputs: " << statistics->get<unsigned>( "num_outputs" ) << std::endl << "[i] additional: " << additional << std::endl << boost::format( "[i] run-time: %.2f secs" ) % statistics->get<double>( "runtime" ) << std::endl; return true; }