aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-01-03 16:10:12 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2024-01-03 16:25:06 +0000
commitc13fd050cf3131595459a6477adf2f92b3cdae5a (patch)
treea4926907ba4b446a654e293860f2b8fa5612d370 /searchlib/src
parentf4bdeedaba71200b999804d9ce388dc528a636d7 (diff)
Unify on +/- infinity for floating point numbers.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/tests/query/streaming_query_test.cpp28
-rw-r--r--searchlib/src/vespa/searchlib/query/query_term_simple.cpp14
2 files changed, 21 insertions, 21 deletions
diff --git a/searchlib/src/tests/query/streaming_query_test.cpp b/searchlib/src/tests/query/streaming_query_test.cpp
index e1acb3b467f..a4e84a4d384 100644
--- a/searchlib/src/tests/query/streaming_query_test.cpp
+++ b/searchlib/src/tests/query/streaming_query_test.cpp
@@ -75,7 +75,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ia, std::numeric_limits<int64_t>::min());
EXPECT_EQ(ib, 6);
EXPECT_TRUE(q.getAsFloatTerm(da, db));
- EXPECT_EQ(da, -std::numeric_limits<double>::max());
+ EXPECT_EQ(da, -std::numeric_limits<double>::infinity());
EXPECT_LT(db, 7);
EXPECT_GT(db, 6.99);
}
@@ -86,7 +86,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ia, std::numeric_limits<int64_t>::min());
EXPECT_EQ(ib, 7);
EXPECT_TRUE(q.getAsFloatTerm(da, db));
- EXPECT_EQ(da, -std::numeric_limits<double>::max());
+ EXPECT_EQ(da, -std::numeric_limits<double>::infinity());
EXPECT_EQ(db, 7);
}
@@ -98,7 +98,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_TRUE(q.getAsFloatTerm(da, db));
EXPECT_GT(da, 7);
EXPECT_LT(da, 7.01);
- EXPECT_EQ(db, std::numeric_limits<double>::max());
+ EXPECT_EQ(db, std::numeric_limits<double>::infinity());
}
{
@@ -108,7 +108,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ib, std::numeric_limits<int64_t>::max());
EXPECT_TRUE(q.getAsFloatTerm(da, db));
EXPECT_EQ(da, 7);
- EXPECT_EQ(db, std::numeric_limits<double>::max());
+ EXPECT_EQ(db, std::numeric_limits<double>::infinity());
}
{
@@ -185,7 +185,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ia, std::numeric_limits<int64_t>::min());
EXPECT_EQ(ib, -8);
EXPECT_TRUE(q.getAsFloatTerm(da, db));
- EXPECT_EQ(da, -std::numeric_limits<double>::max());
+ EXPECT_EQ(da, -std::numeric_limits<double>::infinity());
EXPECT_LT(db, -7);
EXPECT_GT(db, -7.01);
}
@@ -196,7 +196,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ia, std::numeric_limits<int64_t>::min());
EXPECT_EQ(ib, -7);
EXPECT_TRUE(q.getAsFloatTerm(da, db));
- EXPECT_EQ(da, -std::numeric_limits<double>::max());
+ EXPECT_EQ(da, -std::numeric_limits<double>::infinity());
EXPECT_EQ(db, -7);
}
@@ -206,7 +206,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ia, std::numeric_limits<int64_t>::min());
EXPECT_EQ(ib, -7);
EXPECT_TRUE(q.getAsFloatTerm(da, db));
- EXPECT_EQ(da, -std::numeric_limits<double>::max());
+ EXPECT_EQ(da, -std::numeric_limits<double>::infinity());
EXPECT_EQ(db, -7);
}
@@ -218,7 +218,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_TRUE(q.getAsFloatTerm(da, db));
EXPECT_GT(da, -7);
EXPECT_LT(da, -6.99);
- EXPECT_EQ(db, std::numeric_limits<double>::max());
+ EXPECT_EQ(db, std::numeric_limits<double>::infinity());
}
{
@@ -228,7 +228,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ib, std::numeric_limits<int64_t>::max());
EXPECT_TRUE(q.getAsFloatTerm(da, db));
EXPECT_EQ(da, -7);
- EXPECT_EQ(db, std::numeric_limits<double>::max());
+ EXPECT_EQ(db, std::numeric_limits<double>::infinity());
}
{
@@ -238,7 +238,7 @@ TEST(StreamingQueryTest, test_query_language)
EXPECT_EQ(ib, std::numeric_limits<int64_t>::max());
EXPECT_TRUE(q.getAsFloatTerm(da, db));
EXPECT_EQ(da, -7);
- EXPECT_EQ(db, std::numeric_limits<double>::max());
+ EXPECT_EQ(db, std::numeric_limits<double>::infinity());
}
{
@@ -648,8 +648,8 @@ TEST(StreamingQueryTest, require_that_ascending_range_can_be_specified_with_limi
EXPECT_TRUE(ascending_query.getAsFloatTerm(low_double, high_double));
EXPECT_EQ(std::numeric_limits<int64_t>::min(), low_integer);
EXPECT_EQ(std::numeric_limits<int64_t>::max(), high_integer);
- EXPECT_EQ(-std::numeric_limits<double>::max(), low_double);
- EXPECT_EQ(std::numeric_limits<double>::max(), high_double);
+ EXPECT_EQ(-std::numeric_limits<double>::infinity(), low_double);
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), high_double);
EXPECT_EQ(500, ascending_query.getRangeLimit());
}
@@ -667,8 +667,8 @@ TEST(StreamingQueryTest, require_that_descending_range_can_be_specified_with_lim
EXPECT_TRUE(descending_query.getAsFloatTerm(low_double, high_double));
EXPECT_EQ(std::numeric_limits<int64_t>::min(), low_integer);
EXPECT_EQ(std::numeric_limits<int64_t>::max(), high_integer);
- EXPECT_EQ(-std::numeric_limits<double>::max(), low_double);
- EXPECT_EQ(std::numeric_limits<double>::max(), high_double);
+ EXPECT_EQ(-std::numeric_limits<double>::infinity(), low_double);
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), high_double);
EXPECT_EQ(-500, descending_query.getRangeLimit());
}
diff --git a/searchlib/src/vespa/searchlib/query/query_term_simple.cpp b/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
index 77e245c3b7d..0550ba5f684 100644
--- a/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
+++ b/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
@@ -51,7 +51,7 @@ struct FloatDecoder {
for (;q < qend && isspace(*q); q++);
std::from_chars_result err = std::from_chars(q, qend, v);
if (err.ec == std::errc::result_out_of_range) {
- v = (*q == '-') ? std::numeric_limits<T>::min() : std::numeric_limits<T>::max();
+ v = (*q == '-') ? -std::numeric_limits<T>::infinity() : std::numeric_limits<T>::infinity();
}
*end = err.ptr;
return v;
@@ -84,8 +84,8 @@ QueryTermSimple::getFloatRange() const noexcept
RangeResult<N> res;
res.valid = valid;
if (!valid) {
- res.low = std::numeric_limits<N>::max();
- res.high = - std::numeric_limits<N>::max();
+ res.low = std::numeric_limits<N>::infinity();
+ res.high = -std::numeric_limits<N>::infinity();
res.adjusted = true;
} else {
res.low = lowRaw;
@@ -209,15 +209,15 @@ bool QueryTermSimple::getAsIntegerTerm(int64_t & lower, int64_t & upper) const n
bool QueryTermSimple::getAsFloatTerm(double & lower, double & upper) const noexcept
{
- lower = - std::numeric_limits<double>::max();
- upper = std::numeric_limits<double>::max();
+ lower = -std::numeric_limits<double>::infinity();
+ upper = std::numeric_limits<double>::infinity();
return getAsNumericTerm(lower, upper, FloatDecoder<double>());
}
bool QueryTermSimple::getAsFloatTerm(float & lower, float & upper) const noexcept
{
- lower = - std::numeric_limits<float>::max();
- upper = std::numeric_limits<float>::max();
+ lower = -std::numeric_limits<float>::infinity();
+ upper = std::numeric_limits<float>::infinity();
return getAsNumericTerm(lower, upper, FloatDecoder<float>());
}