diff options
author | Håvard Pettersen <havardpe@oath.com> | 2020-06-12 13:51:49 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2020-06-12 13:51:49 +0000 |
commit | f4f2fa8f1596ff212e63f2b075c006986d6eb098 (patch) | |
tree | 87ac70b00deb2a471eaa0667cb3dff31535e20f1 /eval | |
parent | 38d3d076ebee23e014858daad173c72f142d8ac5 (diff) |
better handling of Inv
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) {} |