summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-06-30 11:37:27 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-06-30 11:37:27 +0000
commit43575b1d6514953e08583999f0d0d29f23cf3ba1 (patch)
tree2e7f09e578cb0469150d6d37556c250a73af7822 /searchlib
parentaf54254095fae1bdea8d101a9c0f4811ddf69f56 (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')
-rw-r--r--searchlib/src/tests/features/prod_features.cpp23
-rw-r--r--searchlib/src/vespa/searchlib/features/global_sequence_feature.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/features/global_sequence_feature.h4
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);
+ }
};
}