API enhancement

This commit is contained in:
Philippe Tillet
2015-01-20 11:17:42 -05:00
parent 4f73fb384f
commit e74563070a
6 changed files with 25 additions and 14 deletions

View File

@@ -277,14 +277,17 @@ void evaluate_expression_traversal::operator()(atidlas::symbolic_expression cons
{
symbolic_expression_node const & root_node = symbolic_expression.tree()[root_idx];
mapping_type::key_type key = std::make_pair(root_idx, leaf);
if (leaf==PARENT_NODE_TYPE && root_node.op.type_family!=OPERATOR_UNARY_TYPE_FAMILY)
if (leaf==PARENT_NODE_TYPE)
{
if (detail::is_node_leaf(root_node.op))
str_ += mapping_.at(key)->evaluate(accessors_);
else if (detail::is_elementwise_operator(root_node.op))
str_ += evaluate(root_node.op.type);
else if (detail::is_elementwise_function(root_node.op))
str_ += ",";
else if(root_node.op.type_family!=OPERATOR_UNARY_TYPE_FAMILY)
{
if (detail::is_elementwise_operator(root_node.op))
str_ += evaluate(root_node.op.type);
else if (detail::is_elementwise_function(root_node.op))
str_ += ",";
}
}
else
{