diff options
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/tests/eval/inline_operation/inline_operation_test.cpp | 3 | ||||
-rw-r--r-- | eval/src/vespa/eval/eval/inline_operation.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/eval/src/tests/eval/inline_operation/inline_operation_test.cpp b/eval/src/tests/eval/inline_operation/inline_operation_test.cpp index 2aa159f46d7..d43743d9f68 100644 --- a/eval/src/tests/eval/inline_operation/inline_operation_test.cpp +++ b/eval/src/tests/eval/inline_operation/inline_operation_test.cpp @@ -146,7 +146,8 @@ TEST(InlineOperationTest, op2_typifier_forwards_return_value_correctly) { TEST(InlineOperationTest, inline_op1_example_works) { op1_t ignored = nullptr; InlineOp1<Inv> op(ignored); - EXPECT_EQ(op(1.0), 1.0); + EXPECT_EQ(op(2.0), 0.5); + EXPECT_EQ(op(4.0f), 0.25f); EXPECT_EQ(op(8.0), 0.125); } diff --git a/eval/src/vespa/eval/eval/inline_operation.h b/eval/src/vespa/eval/eval/inline_operation.h index 860f2330f57..1d3cb559b4a 100644 --- a/eval/src/vespa/eval/eval/inline_operation.h +++ b/eval/src/vespa/eval/eval/inline_operation.h @@ -23,7 +23,8 @@ template <> struct InlineOp1<Exp> { }; template <> struct InlineOp1<Inv> { InlineOp1(op1_t) {} - template <typename A> constexpr auto operator()(A a) const { return (1/a); } + template <typename A> constexpr auto operator()(A a) const { return (1.0/a); } + constexpr auto operator()(float a) const { return (1.0f/a); } }; template <> struct InlineOp1<Sqrt> { InlineOp1(op1_t) {} |