85 std::vector<DataObject> inputs,
86 std::vector<SimValue*>& outputs,
88 std::string& result) {
91 result =
"wrong number of arguments";
100 for (std::size_t i = 0; i < outputs.size(); ++i) {
101 io_[i] = outputs.at(i);
125 std::string& result) {
127 bool is_int = value.find(
".") == string::npos &&
128 value.find(
'e') == string::npos;
129 bool is_float = !is_int &&
130 (value.find(
"f") != string::npos ||
131 value.find(
"F") != string::npos);
132 bool is_half = value.find(
".") != string::npos &&
133 (value.find(
"h") != string::npos ||
134 value.find(
"H") != string::npos);
137 if (value.size() > 2 && value[0] ==
'0' && value[1] ==
'x') {
139 }
else if (is_int && !is_float) {
141 }
else if (is_float) {
143 }
else if (is_half) {
150 result =
"illegal operand value \"" + value +
"\"";
168 std::vector<DataObject> inputs,
169 std::vector<SimValue*>& outputs,
170 std::string& result) {
172 for (
size_t i = 0; i < inputs.size(); i++) {
175 string value = inputs[i].stringValue();
181 outputs.push_back(sim);
186 outputs.push_back(result);