MCPcopy Create free account
hub / github.com/SoarGroup/Soar / smem_visualize_store

Function smem_visualize_store

Core/SoarKernel/src/semantic_memory.cpp:5072–5315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5070//////////////////////////////////////////////////////////
5071
5072void smem_visualize_store(agent* thisAgent, std::string* return_val)
5073{
5074 // header
5075 return_val->append("digraph smem {");
5076 return_val->append("\n");
5077
5078 // LTIs
5079 return_val->append("node [ shape = doublecircle ];");
5080 return_val->append("\n");
5081
5082 std::map< smem_lti_id, std::string > lti_names;
5083 std::map< smem_lti_id, std::string >::iterator n_p;
5084 {
5085 soar_module::sqlite_statement* q;
5086
5087 smem_lti_id lti_id;
5088 char lti_letter;
5089 uint64_t lti_number;
5090
5091 std::string* lti_name;
5092 std::string temp_str;
5093 int64_t temp_int;
5094 double temp_double;
5095
5096 // id, soar_letter, number
5097 q = thisAgent->smem_stmts->vis_lti;
5098 while (q->execute() == soar_module::row)
5099 {
5100 lti_id = q->column_int(0);
5101 lti_letter = static_cast<char>(q->column_int(1));
5102 lti_number = static_cast<uint64_t>(q->column_int(2));
5103
5104 lti_name = & lti_names[ lti_id ];
5105 lti_name->push_back(lti_letter);
5106
5107 to_string(lti_number, temp_str);
5108 lti_name->append(temp_str);
5109
5110 return_val->append((*lti_name));
5111 return_val->append(" [ label=\"");
5112 return_val->append((*lti_name));
5113 return_val->append("\\n[");
5114
5115 temp_double = q->column_double(3);
5116 to_string(temp_double, temp_str, 3, true);
5117 if (temp_double >= 0)
5118 {
5119 return_val->append("+");
5120 }
5121 return_val->append(temp_str);
5122
5123 return_val->append("]\"");
5124 return_val->append(" ];");
5125 return_val->append("\n");
5126 }
5127 q->reinitialize();
5128
5129 if (!lti_names.empty())

Callers 1

DoSMemMethod · 0.85

Calls 13

smem_reverse_hash_strFunction · 0.85
smem_reverse_hash_intFunction · 0.85
smem_reverse_hash_floatFunction · 0.85
column_intMethod · 0.80
column_doubleMethod · 0.80
reinitializeMethod · 0.80
endMethod · 0.80
appendMethod · 0.45
executeMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected