diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-06-30 11:37:27 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-06-30 11:37:27 +0000 |
commit | 43575b1d6514953e08583999f0d0d29f23cf3ba1 (patch) | |
tree | 2e7f09e578cb0469150d6d37556c250a73af7822 /searchlib | |
parent | af54254095fae1bdea8d101a9c0f4811ddf69f56 (diff) |
Followup from PR comments.
- CamelCase globalsequence -> globalSequence
- 0x80000 -> 0x10000
- Factor out computation to header file and use in both test and globalSequence feature.
Diffstat (limited to 'searchlib')
3 files changed, 17 insertions, 16 deletions
diff --git a/searchlib/src/tests/features/prod_features.cpp b/searchlib/src/tests/features/prod_features.cpp index cc90008eca8..f886ba59c1c 100644 --- a/searchlib/src/tests/features/prod_features.cpp +++ b/searchlib/src/tests/features/prod_features.cpp @@ -1565,33 +1565,30 @@ Test::testMatchCount() } } -uint64_t globalSequence(uint32_t docId, uint32_t distrKey) { - return (1ul << 48) - ((uint64_t(docId) << 16)| distrKey); -} - void verifySequence(uint64_t first, uint64_t second) { ASSERT_GREATER(first, second); ASSERT_GREATER(double(first), double(second)); } + void Test::testUnique() { { GlobalSequenceBlueprint bp; - EXPECT_TRUE(assertCreateInstance(bp, "globalsequence")); + EXPECT_TRUE(assertCreateInstance(bp, "globalSequence")); FtFeatureTest ft(_factory, ""); StringList params, in, out; FT_SETUP_OK(bp, ft.getIndexEnv(), params, in, out.add("out")); - FT_DUMP_EMPTY(_factory, "globalsequence"); + FT_DUMP_EMPTY(_factory, "globalSequence"); } - FtFeatureTest ft(_factory, "globalsequence"); + FtFeatureTest ft(_factory, "globalSequence"); ASSERT_TRUE(ft.setup()); - TEST_DO(verifySequence(globalSequence(1, 0), globalSequence(1,1))); - TEST_DO(verifySequence(globalSequence(1, 1), globalSequence(1,2))); - TEST_DO(verifySequence(globalSequence(1, 1), globalSequence(2,1))); - TEST_DO(verifySequence(globalSequence(2, 1), globalSequence(2,2))); - TEST_DO(verifySequence(globalSequence(2, 2), globalSequence(2,3))); - TEST_DO(verifySequence(globalSequence(2, 2), globalSequence(3,0))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(1, 0), GlobalSequenceBlueprint::globalSequence(1,1))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(1, 1), GlobalSequenceBlueprint::globalSequence(1,2))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(1, 1), GlobalSequenceBlueprint::globalSequence(2,1))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(2, 1), GlobalSequenceBlueprint::globalSequence(2,2))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(2, 2), GlobalSequenceBlueprint::globalSequence(2,3))); + TEST_DO(verifySequence(GlobalSequenceBlueprint::globalSequence(2, 2), GlobalSequenceBlueprint::globalSequence(3,0))); ASSERT_EQUAL(0xfffffffefffdul, (1ul << 48) - 0x10003l); EXPECT_TRUE(ft.execute(0xfffffffefffdul, 0, 1)); EXPECT_TRUE(ft.execute(0xfffffff8fffdul, 0, 7)); diff --git a/searchlib/src/vespa/searchlib/features/global_sequence_feature.cpp b/searchlib/src/vespa/searchlib/features/global_sequence_feature.cpp index e1d9d4733c1..255b033a592 100644 --- a/searchlib/src/vespa/searchlib/features/global_sequence_feature.cpp +++ b/searchlib/src/vespa/searchlib/features/global_sequence_feature.cpp @@ -23,14 +23,14 @@ public: } void execute(uint32_t docId) override { - outputs().set_number(0, ((1ul << 48u) - ((uint64_t(docId) << 16u) | _distributionKey))); + outputs().set_number(0, GlobalSequenceBlueprint::globalSequence(docId, _distributionKey)); } }; } GlobalSequenceBlueprint::GlobalSequenceBlueprint() : - Blueprint("globalsequence"), + Blueprint("globalSequence"), _distributionKey(0) { } @@ -44,7 +44,7 @@ bool GlobalSequenceBlueprint::setup(const IIndexEnvironment & env, const ParameterList & ) { _distributionKey = env.getDistributionKey(); - assert( _distributionKey < 0x80000); + assert( _distributionKey < 0x10000); describeOutput("out", "Returns (1 << 48) - ((lid << 16) | distributionKey)"); return true; } diff --git a/searchlib/src/vespa/searchlib/features/global_sequence_feature.h b/searchlib/src/vespa/searchlib/features/global_sequence_feature.h index 04e3b09c72a..3678a260b00 100644 --- a/searchlib/src/vespa/searchlib/features/global_sequence_feature.h +++ b/searchlib/src/vespa/searchlib/features/global_sequence_feature.h @@ -27,6 +27,10 @@ public: } bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override; fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override; + + static uint64_t globalSequence(uint32_t docId, uint32_t distrKey) { + return (1ul << 48) - ((uint64_t(docId) << 16)| distrKey); + } }; } |