diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-06-23 10:10:30 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-06-23 10:17:15 +0000 |
commit | 4810cbde6311fb10e5c8c0e85e794b37aaa0e1a0 (patch) | |
tree | 3ba5c0d5deb4717727b5bcece49bca9602fb1de8 /searchsummary/src | |
parent | b0ba562566027d6de287c53b20f5cda85eb54440 (diff) |
remove assert and use a return guard
Diffstat (limited to 'searchsummary/src')
4 files changed, 24 insertions, 57 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp index 1a2cf24a18d..1fcb0a49be1 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp @@ -65,35 +65,6 @@ AbsDistanceDFW::AbsDistanceDFW(const vespalib::string & attrName) : LocationAttrDFW(attrName) { } -double -AbsDistanceDFW::kmMinDistance(uint32_t docid, GetDocsumsState *state, - const std::vector<const GeoLoc *> &locations) -{ - double best = std::numeric_limits<double>::max(); - const auto& attribute = get_attribute(*state); - for (auto location : locations) { - double lat = to_degrees(location->point.y); - double lng = to_degrees(location->point.x); - GeoGcd point{lat, lng}; - int32_t docx = 0; - int32_t docy = 0; - IntegerContent pos; - pos.fill(attribute, docid); - uint32_t numValues = pos.size(); - for (uint32_t i = 0; i < numValues; i++) { - int64_t docxy(pos[i]); - vespalib::geo::ZCurve::decode(docxy, &docx, &docy); - lat = to_degrees(docy); - lng = to_degrees(docx); - double dist = point.km_great_circle_distance(lat, lng); - if (dist < best) { - best = dist; - } - } - } - return best; -} - uint64_t AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState *state, const std::vector<const GeoLoc *> &locations) diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h index 7f6bfe22816..b3e041c1379 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h @@ -36,8 +36,6 @@ public: class AbsDistanceDFW : public LocationAttrDFW { private: - double kmMinDistance(uint32_t docid, GetDocsumsState *state, - const std::vector<const GeoLoc *> &locations); uint64_t findMinDistance(uint32_t docid, GetDocsumsState *state, const std::vector<const GeoLoc *> &locations); public: diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp index 8b75f9de8e1..38b58ef94fc 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp @@ -14,7 +14,7 @@ RankFeaturesDFW::~RankFeaturesDFW() = default; void RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, - ResType type, vespalib::slime::Inserter &target) + ResType, vespalib::slime::Inserter &target) { if ( !state->_rankFeatures ) { state->_callback.FillRankFeatures(state, _env); @@ -24,16 +24,15 @@ RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, } const FeatureSet::StringVector & names = state->_rankFeatures->getNames(); const FeatureSet::Value * values = state->_rankFeatures->getFeaturesByDocId(docid); - assert(type == RES_FEATUREDATA); - if (values != nullptr) { - vespalib::slime::Cursor& obj = target.insertObject(); - for (uint32_t i = 0; i < names.size(); ++i) { - vespalib::Memory name(names[i].c_str(), names[i].size()); - if (values[i].is_data()) { - obj.setData(name, values[i].as_data()); - } else { - obj.setDouble(name, values[i].as_double()); - } + if (values == nullptr) { return; } + + vespalib::slime::Cursor& obj = target.insertObject(); + for (uint32_t i = 0; i < names.size(); ++i) { + vespalib::Memory name(names[i].c_str(), names[i].size()); + if (values[i].is_data()) { + obj.setData(name, values[i].as_data()); + } else { + obj.setDouble(name, values[i].as_double()); } } } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp index 960cdd19877..f920b7be0cd 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp @@ -20,7 +20,7 @@ SummaryFeaturesDFW::~SummaryFeaturesDFW() = default; static vespalib::Memory _M_cached("vespa.summaryFeatures.cached"); void -SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) +SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) { if (state->_omit_summary_features) { return; @@ -33,23 +33,22 @@ SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType } const FeatureSet::StringVector &names = state->_summaryFeatures->getNames(); const FeatureSet::Value *values = state->_summaryFeatures->getFeaturesByDocId(docid); - assert(type == RES_FEATUREDATA); - if (values != nullptr) { - vespalib::slime::Cursor& obj = target.insertObject(); - for (uint32_t i = 0; i < names.size(); ++i) { - vespalib::Memory name(names[i].c_str(), names[i].size()); - if (values[i].is_data()) { - obj.setData(name, values[i].as_data()); - } else { - obj.setDouble(name, values[i].as_double()); - } - } - if (state->_summaryFeaturesCached) { - obj.setDouble(_M_cached, 1.0); + if (values == nullptr) { return; } + + vespalib::slime::Cursor& obj = target.insertObject(); + for (uint32_t i = 0; i < names.size(); ++i) { + vespalib::Memory name(names[i].c_str(), names[i].size()); + if (values[i].is_data()) { + obj.setData(name, values[i].as_data()); } else { - obj.setDouble(_M_cached, 0.0); + obj.setDouble(name, values[i].as_double()); } } + if (state->_summaryFeaturesCached) { + obj.setDouble(_M_cached, 1.0); + } else { + obj.setDouble(_M_cached, 0.0); + } } } |