コード例 #1
0
std::string boolbv_mapt::map_entryt::get_value(const propt &prop) const
{
  std::string result;
  
  result.reserve(literal_map.size());

  for(unsigned i=0; i<literal_map.size(); i++)
  {
    char ch='*';

    if(literal_map[i].is_set)
    {
      tvt value=prop.l_get(literal_map[i].l);

      if(value.is_true())
        ch='1';
      else if(value.is_false())
        ch='0';
      else
        ch='?';
    }
    
    result=result+ch;
  }
  
  return result;  
}
コード例 #2
0
ファイル: cnf_clause_list.cpp プロジェクト: dcattaruzza/cbmc
void cnf_clause_list_assignmentt::copy_assignment_from(const propt &prop)
{
  assignment.resize(no_variables());

  // we don't use index 0, start with 1
  for(unsigned v=1; v<assignment.size(); v++)
  {
    literalt l;
    l.set(v, false);
    assignment[v]=prop.l_get(l);
  }
}