From c699645c94125bb903e117d2904d378899df47a9 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 31 May 2022 20:46:19 +0000 Subject: Use std::to_chars to make a string out of a 64 bit number. --- eval/src/vespa/eval/instruction/generic_peek.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eval/src/vespa/eval/instruction/generic_peek.cpp b/eval/src/vespa/eval/instruction/generic_peek.cpp index ccca0b4e458..ea6e53e5505 100644 --- a/eval/src/vespa/eval/instruction/generic_peek.cpp +++ b/eval/src/vespa/eval/instruction/generic_peek.cpp @@ -3,7 +3,6 @@ #include "generic_peek.h" #include #include -#include #include #include #include @@ -252,10 +251,12 @@ struct SparsePlan { SparseState make_state(const Getter &get_child_value) const { SmallVector handles; SmallVector view_addr; + char buf[24]; for (const auto & dim : lookup_specs) { if (dim.has_child()) { int64_t child_value = get_child_value(dim.get_child_idx()); - handles.emplace_back(vespalib::make_string("%" PRId64, child_value)); + auto res = std::to_chars(buf, buf + sizeof(buf), child_value, 10); + handles.emplace_back(vespalib::stringref(buf, res.ptr - buf)); view_addr.push_back(handles.back().id()); } else { view_addr.push_back(dim.get_label_name()); -- cgit v1.2.3 From cd0553c9a4df7c0405d1ccb1726cb80762e5f94e Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 31 May 2022 20:47:11 +0000 Subject: Avoid pulling in stringfmt.h in by moving code to .cpp file. --- eval/src/tests/eval/function/function_test.cpp | 1 + eval/src/tests/eval/gbdt/model.cpp | 1 + eval/src/tests/eval/node_types/node_types_test.cpp | 1 + eval/src/vespa/eval/eval/basic_nodes.cpp | 21 +++++++++++++++++++++ eval/src/vespa/eval/eval/basic_nodes.h | 20 ++------------------ eval/src/vespa/eval/eval/call_nodes.cpp | 10 +++------- eval/src/vespa/eval/eval/call_nodes.h | 12 +++--------- eval/src/vespa/eval/eval/cell_type.h | 4 ++-- eval/src/vespa/eval/eval/function.cpp | 1 + eval/src/vespa/eval/eval/function.h | 11 ++--------- eval/src/vespa/eval/eval/interpreted_function.cpp | 1 + eval/src/vespa/eval/eval/llvm/compiled_function.cpp | 1 + eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp | 1 + eval/src/vespa/eval/eval/operator_nodes.cpp | 10 +++------- eval/src/vespa/eval/eval/operator_nodes.h | 12 +++--------- .../searchlib/features/rankingexpressionfeature.cpp | 1 + .../src/vespa/vespalib/util/shared_string_repo.h | 1 - vespalib/src/vespa/vespalib/util/typify.h | 2 +- 18 files changed, 48 insertions(+), 63 deletions(-) diff --git a/eval/src/tests/eval/function/function_test.cpp b/eval/src/tests/eval/function/function_test.cpp index 60c4c81f519..e75b34f4695 100644 --- a/eval/src/tests/eval/function/function_test.cpp +++ b/eval/src/tests/eval/function/function_test.cpp @@ -8,6 +8,7 @@ #include #include #include +#include using namespace vespalib::eval; using namespace vespalib::eval::nodes; diff --git a/eval/src/tests/eval/gbdt/model.cpp b/eval/src/tests/eval/gbdt/model.cpp index 22ab22835f7..2659c07b601 100644 --- a/eval/src/tests/eval/gbdt/model.cpp +++ b/eval/src/tests/eval/gbdt/model.cpp @@ -3,6 +3,7 @@ #include #include +#include using vespalib::make_string; using vespalib::eval::Function; diff --git a/eval/src/tests/eval/node_types/node_types_test.cpp b/eval/src/tests/eval/node_types/node_types_test.cpp index 07975ef16ed..85c7d40cbea 100644 --- a/eval/src/tests/eval/node_types/node_types_test.cpp +++ b/eval/src/tests/eval/node_types/node_types_test.cpp @@ -4,6 +4,7 @@ #include #include #include +#include using namespace vespalib::eval; 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 namespace vespalib::eval::nodes { @@ -22,6 +23,26 @@ struct Frame { } // namespace vespalib::eval::nodes:: +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 { diff --git a/eval/src/vespa/eval/eval/basic_nodes.h b/eval/src/vespa/eval/eval/basic_nodes.h index 919b04f8e17..2db00bbcb7d 100644 --- a/eval/src/vespa/eval/eval/basic_nodes.h +++ b/eval/src/vespa/eval/eval/basic_nodes.h @@ -6,7 +6,6 @@ #include "string_stuff.h" #include #include -#include #include #include #include @@ -97,9 +96,7 @@ public: virtual bool is_const_double() const override { return true; } double get_const_double_value() const override { return value(); } double value() const { return _value; } - vespalib::string dump(DumpContext &) const override { - return make_string("%g", _value); - } + vespalib::string dump(DumpContext &) const override; void accept(NodeVisitor &visitor) const override; }; @@ -256,20 +253,7 @@ public: handler.handle(std::move(_true_expr)); handler.handle(std::move(_false_expr)); } - vespalib::string dump(DumpContext &ctx) const override { - 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; - } + vespalib::string dump(DumpContext &ctx) const override; void accept(NodeVisitor &visitor) const override; }; diff --git a/eval/src/vespa/eval/eval/call_nodes.cpp b/eval/src/vespa/eval/eval/call_nodes.cpp index 991c9a10b87..527a87eca55 100644 --- a/eval/src/vespa/eval/eval/call_nodes.cpp +++ b/eval/src/vespa/eval/eval/call_nodes.cpp @@ -3,11 +3,9 @@ #include "call_nodes.h" #include "node_visitor.h" -namespace vespalib { -namespace eval { -namespace nodes { +namespace vespalib::eval::nodes { -Call::~Call() { } +Call::~Call() = default; template void CallHelper::accept(NodeVisitor &visitor) const { @@ -47,6 +45,4 @@ CallRepo::CallRepo() : _map() { add(nodes::Hamming()); } -} // namespace vespalib::eval::nodes -} // namespace vespalib::eval -} // namespace vespalib +} diff --git a/eval/src/vespa/eval/eval/call_nodes.h b/eval/src/vespa/eval/eval/call_nodes.h index 9f7b5a94a73..975f52e40a1 100644 --- a/eval/src/vespa/eval/eval/call_nodes.h +++ b/eval/src/vespa/eval/eval/call_nodes.h @@ -4,16 +4,12 @@ #include "basic_nodes.h" #include -#include #include #include -namespace vespalib { -namespace eval { +namespace vespalib::eval { struct NodeVisitor; } -struct NodeVisitor; - -namespace nodes { +namespace vespalib::eval::nodes { /** * Common superclass for AST nodes describing calls to built-in @@ -144,6 +140,4 @@ struct Hamming : CallHelper { Hamming() : Helper("hamming", 2) {} }; //----------------------------------------------------------------------------- -} // namespace vespalib::eval::nodes -} // namespace vespalib::eval -} // namespace vespalib +} diff --git a/eval/src/vespa/eval/eval/cell_type.h b/eval/src/vespa/eval/eval/cell_type.h index a371e618f37..fc3a631b7af 100644 --- a/eval/src/vespa/eval/eval/cell_type.h +++ b/eval/src/vespa/eval/eval/cell_type.h @@ -2,12 +2,12 @@ #pragma once +#include "int8float.h" +#include #include #include #include #include -#include "int8float.h" -#include namespace vespalib::eval { diff --git a/eval/src/vespa/eval/eval/function.cpp b/eval/src/vespa/eval/eval/function.cpp index fd07c891ad5..8c9b2ad171f 100644 --- a/eval/src/vespa/eval/eval/function.cpp +++ b/eval/src/vespa/eval/eval/function.cpp @@ -8,6 +8,7 @@ #include "delete_node.h" #include "aggr.h" #include +#include #include #include #include diff --git a/eval/src/vespa/eval/eval/function.h b/eval/src/vespa/eval/eval/function.h index 61f2c9c2f24..e56118da65e 100644 --- a/eval/src/vespa/eval/eval/function.h +++ b/eval/src/vespa/eval/eval/function.h @@ -2,17 +2,11 @@ #pragma once -#include -#include -#include -#include -#include #include "basic_nodes.h" #include "delete_node.h" #include "value.h" -namespace vespalib { -namespace eval { +namespace vespalib::eval { enum class PassParams : uint8_t { SEPARATE, ARRAY, LAZY }; @@ -85,5 +79,4 @@ public: }; }; -} // namespace vespalib::eval -} // namespace vespalib +} diff --git a/eval/src/vespa/eval/eval/interpreted_function.cpp b/eval/src/vespa/eval/eval/interpreted_function.cpp index 12945edf9de..d51b8ae0b39 100644 --- a/eval/src/vespa/eval/eval/interpreted_function.cpp +++ b/eval/src/vespa/eval/eval/interpreted_function.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace vespalib::eval { diff --git a/eval/src/vespa/eval/eval/llvm/compiled_function.cpp b/eval/src/vespa/eval/eval/llvm/compiled_function.cpp index b0bf1583c68..33fd4ee31ee 100644 --- a/eval/src/vespa/eval/eval/llvm/compiled_function.cpp +++ b/eval/src/vespa/eval/eval/llvm/compiled_function.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include LOG_SETUP(".eval.eval.llvm.compiled_function"); diff --git a/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp b/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp index d1a9ffc5b49..a3e4e3df7fa 100644 --- a/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp +++ b/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/eval/src/vespa/eval/eval/operator_nodes.cpp b/eval/src/vespa/eval/eval/operator_nodes.cpp index 13404ecc093..6599dadef02 100644 --- a/eval/src/vespa/eval/eval/operator_nodes.cpp +++ b/eval/src/vespa/eval/eval/operator_nodes.cpp @@ -3,9 +3,7 @@ #include "operator_nodes.h" #include "node_visitor.h" -namespace vespalib { -namespace eval { -namespace nodes { +namespace vespalib::eval::nodes { Operator::Operator(const vespalib::string &op_str_in, int priority_in, Order order_in) : _op_str(op_str_in), @@ -16,7 +14,7 @@ Operator::Operator(const vespalib::string &op_str_in, int priority_in, Order ord _is_const_double(false) {} -Operator::~Operator() { } +Operator::~Operator() = default; template void OperatorHelper::accept(NodeVisitor &visitor) const { visitor.visit(static_cast(*this)); @@ -41,6 +39,4 @@ OperatorRepo::OperatorRepo() : _map(), _max_size(0) { add(nodes::Or()); } -} // namespace vespalib::eval::nodes -} // namespace vespalib::eval -} // namespace vespalib +} diff --git a/eval/src/vespa/eval/eval/operator_nodes.h b/eval/src/vespa/eval/eval/operator_nodes.h index 7759958be4b..a47e724a6eb 100644 --- a/eval/src/vespa/eval/eval/operator_nodes.h +++ b/eval/src/vespa/eval/eval/operator_nodes.h @@ -4,17 +4,13 @@ #include "basic_nodes.h" #include -#include #include #include #include -namespace vespalib { -namespace eval { +namespace vespalib::eval { struct NodeVisitor; } -struct NodeVisitor; - -namespace nodes { +namespace vespalib::eval::nodes { /** * Common superclass for AST nodes describing infix operators. Each @@ -171,6 +167,4 @@ struct Or : OperatorHelper { Or() : Helper("|| //----------------------------------------------------------------------------- -} // namespace vespalib::eval::nodes -} // namespace vespalib::eval -} // namespace vespalib +} diff --git a/searchlib/src/vespa/searchlib/features/rankingexpressionfeature.cpp b/searchlib/src/vespa/searchlib/features/rankingexpressionfeature.cpp index 434040c7dad..efb5898fde4 100644 --- a/searchlib/src/vespa/searchlib/features/rankingexpressionfeature.cpp +++ b/searchlib/src/vespa/searchlib/features/rankingexpressionfeature.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include LOG_SETUP(".features.rankingexpression"); diff --git a/vespalib/src/vespa/vespalib/util/shared_string_repo.h b/vespalib/src/vespa/vespalib/util/shared_string_repo.h index 7ba59937c7c..99a120d1cc5 100644 --- a/vespalib/src/vespa/vespalib/util/shared_string_repo.h +++ b/vespalib/src/vespa/vespalib/util/shared_string_repo.h @@ -6,7 +6,6 @@ #include "string_id.h" #include "spin_lock.h" #include -#include #include #include #include diff --git a/vespalib/src/vespa/vespalib/util/typify.h b/vespalib/src/vespa/vespalib/util/typify.h index 4d97c1a458c..906c0c85710 100644 --- a/vespalib/src/vespa/vespalib/util/typify.h +++ b/vespalib/src/vespa/vespalib/util/typify.h @@ -3,7 +3,7 @@ #pragma once #include "traits.h" -#include +#include #include namespace vespalib { -- cgit v1.2.3