29 vout.
detailed(
"key \"%s\" already exists. overwrite.\n", name.c_str());
45 vout.
detailed(
"key \"%s\" already exists. overwrite.\n", name.c_str());
60 SymbolMap_t::const_iterator p =
table.find(name);
62 if (p !=
table.end()) {
63 return p->second.value.val;
74 SymbolMap_t::const_iterator p =
table.find(name);
76 if (p !=
table.end()) {
77 return p->second.value.fptr;
88 for (SymbolMap_t::const_iterator p =
table.begin(); p !=
table.end(); ++p) {
93 vout.
paranoiac(
"type = VARIABLE, value = %f", (p->second).value.val);
95 vout.
paranoiac(
"type = FUNCTION, value = %p", (p->second).value.fptr);
function_t get_symbol_function(const std::string &name) const
bool put_symbol(const std::string &name, const double value)
void detailed(const char *format,...)
union SymbolTable::SymbolRecord::@1 value
double get_symbol_value(const std::string &name) const
void paranoiac(const char *format,...)
double(* function_t)(double)
bool find_symbol(const std::string &name)