diff options
Diffstat (limited to 'eval/src/vespa/eval/eval/basic_nodes.cpp')
-rw-r--r-- | eval/src/vespa/eval/eval/basic_nodes.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/eval/src/vespa/eval/eval/basic_nodes.cpp b/eval/src/vespa/eval/eval/basic_nodes.cpp index 454936ca818..eac0a7d97e8 100644 --- a/eval/src/vespa/eval/eval/basic_nodes.cpp +++ b/eval/src/vespa/eval/eval/basic_nodes.cpp @@ -7,6 +7,7 @@ #include "simple_value.h" #include "fast_value.h" #include "node_tools.h" +#include <vespa/vespalib/util/stringfmt.h> namespace vespalib::eval::nodes { @@ -22,6 +23,26 @@ struct Frame { } // namespace vespalib::eval::nodes::<unnamed> +vespalib::string +Number::dump(DumpContext &) const { + return make_string("%g", _value); +} + +vespalib::string +If::dump(DumpContext &ctx) const { + vespalib::string str; + str += "if("; + str += _cond->dump(ctx); + str += ","; + str += _true_expr->dump(ctx); + str += ","; + str += _false_expr->dump(ctx); + if (_p_true != 0.5) { + str += make_string(",%g", _p_true); + } + str += ")"; + return str; +} double Node::get_const_double_value() const { |