summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-06-12 00:25:56 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-06-12 10:19:05 +0200
commit7f540e704a7d0557cbd94848f65b85eb05361636 (patch)
tree256562f9d1b845534fcd707b685fe66b4c06f188 /eval
parent73edac0b7a44a0c3881ca34eea5e525a0a253097 (diff)
Use function pointers in inline operations test.
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/eval/inline_operation/inline_operation_test.cpp94
1 files changed, 47 insertions, 47 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 4520176e276..bfcb3a09a52 100644
--- a/eval/src/tests/eval/inline_operation/inline_operation_test.cpp
+++ b/eval/src/tests/eval/inline_operation/inline_operation_test.cpp
@@ -41,33 +41,33 @@ op2_t as_op2(const vespalib::string &str) {
}
TEST(InlineOperationTest, op1_lambdas_are_recognized) {
- EXPECT_EQ(as_op1("-a"), Neg::f);
- EXPECT_EQ(as_op1("!a"), Not::f);
- EXPECT_EQ(as_op1("cos(a)"), Cos::f);
- EXPECT_EQ(as_op1("sin(a)"), Sin::f);
- EXPECT_EQ(as_op1("tan(a)"), Tan::f);
- EXPECT_EQ(as_op1("cosh(a)"), Cosh::f);
- EXPECT_EQ(as_op1("sinh(a)"), Sinh::f);
- EXPECT_EQ(as_op1("tanh(a)"), Tanh::f);
- EXPECT_EQ(as_op1("acos(a)"), Acos::f);
- EXPECT_EQ(as_op1("asin(a)"), Asin::f);
- EXPECT_EQ(as_op1("atan(a)"), Atan::f);
- EXPECT_EQ(as_op1("exp(a)"), Exp::f);
- EXPECT_EQ(as_op1("log10(a)"), Log10::f);
- EXPECT_EQ(as_op1("log(a)"), Log::f);
- EXPECT_EQ(as_op1("sqrt(a)"), Sqrt::f);
- EXPECT_EQ(as_op1("ceil(a)"), Ceil::f);
- EXPECT_EQ(as_op1("fabs(a)"), Fabs::f);
- EXPECT_EQ(as_op1("floor(a)"), Floor::f);
- EXPECT_EQ(as_op1("isNan(a)"), IsNan::f);
- EXPECT_EQ(as_op1("relu(a)"), Relu::f);
- EXPECT_EQ(as_op1("sigmoid(a)"), Sigmoid::f);
- EXPECT_EQ(as_op1("elu(a)"), Elu::f);
+ EXPECT_EQ(as_op1("-a"), &Neg::f);
+ EXPECT_EQ(as_op1("!a"), &Not::f);
+ EXPECT_EQ(as_op1("cos(a)"), &Cos::f);
+ EXPECT_EQ(as_op1("sin(a)"), &Sin::f);
+ EXPECT_EQ(as_op1("tan(a)"), &Tan::f);
+ EXPECT_EQ(as_op1("cosh(a)"), &Cosh::f);
+ EXPECT_EQ(as_op1("sinh(a)"), &Sinh::f);
+ EXPECT_EQ(as_op1("tanh(a)"), &Tanh::f);
+ EXPECT_EQ(as_op1("acos(a)"), &Acos::f);
+ EXPECT_EQ(as_op1("asin(a)"), &Asin::f);
+ EXPECT_EQ(as_op1("atan(a)"), &Atan::f);
+ EXPECT_EQ(as_op1("exp(a)"), &Exp::f);
+ EXPECT_EQ(as_op1("log10(a)"), &Log10::f);
+ EXPECT_EQ(as_op1("log(a)"), &Log::f);
+ EXPECT_EQ(as_op1("sqrt(a)"), &Sqrt::f);
+ EXPECT_EQ(as_op1("ceil(a)"), &Ceil::f);
+ EXPECT_EQ(as_op1("fabs(a)"), &Fabs::f);
+ EXPECT_EQ(as_op1("floor(a)"), &Floor::f);
+ EXPECT_EQ(as_op1("isNan(a)"), &IsNan::f);
+ EXPECT_EQ(as_op1("relu(a)"), &Relu::f);
+ EXPECT_EQ(as_op1("sigmoid(a)"), &Sigmoid::f);
+ EXPECT_EQ(as_op1("elu(a)"), &Elu::f);
}
TEST(InlineOperationTest, op1_lambdas_are_recognized_with_different_parameter_names) {
- EXPECT_EQ(lookup_op1(*Function::parse({"x"}, "-x")).value(), Neg::f);
- EXPECT_EQ(lookup_op1(*Function::parse({"x"}, "!x")).value(), Not::f);
+ EXPECT_EQ(lookup_op1(*Function::parse({"x"}, "-x")).value(), &Neg::f);
+ EXPECT_EQ(lookup_op1(*Function::parse({"x"}, "!x")).value(), &Not::f);
}
TEST(InlineOperationTest, non_op1_lambdas_are_not_recognized) {
@@ -76,32 +76,32 @@ TEST(InlineOperationTest, non_op1_lambdas_are_not_recognized) {
}
TEST(InlineOperationTest, op2_lambdas_are_recognized) {
- EXPECT_EQ(as_op2("a+b"), Add::f);
- EXPECT_EQ(as_op2("a-b"), Sub::f);
- EXPECT_EQ(as_op2("a*b"), Mul::f);
- EXPECT_EQ(as_op2("a/b"), Div::f);
- EXPECT_EQ(as_op2("a%b"), Mod::f);
- EXPECT_EQ(as_op2("a^b"), Pow::f);
- EXPECT_EQ(as_op2("a==b"), Equal::f);
- EXPECT_EQ(as_op2("a!=b"), NotEqual::f);
- EXPECT_EQ(as_op2("a~=b"), Approx::f);
- EXPECT_EQ(as_op2("a<b"), Less::f);
- EXPECT_EQ(as_op2("a<=b"), LessEqual::f);
- EXPECT_EQ(as_op2("a>b"), Greater::f);
- EXPECT_EQ(as_op2("a>=b"), GreaterEqual::f);
- EXPECT_EQ(as_op2("a&&b"), And::f);
- EXPECT_EQ(as_op2("a||b"), Or::f);
- EXPECT_EQ(as_op2("atan2(a,b)"), Atan2::f);
- EXPECT_EQ(as_op2("ldexp(a,b)"), Ldexp::f);
- EXPECT_EQ(as_op2("pow(a,b)"), Pow::f);
- EXPECT_EQ(as_op2("fmod(a,b)"), Mod::f);
- EXPECT_EQ(as_op2("min(a,b)"), Min::f);
- EXPECT_EQ(as_op2("max(a,b)"), Max::f);
+ EXPECT_EQ(as_op2("a+b"), &Add::f);
+ EXPECT_EQ(as_op2("a-b"), &Sub::f);
+ EXPECT_EQ(as_op2("a*b"), &Mul::f);
+ EXPECT_EQ(as_op2("a/b"), &Div::f);
+ EXPECT_EQ(as_op2("a%b"), &Mod::f);
+ EXPECT_EQ(as_op2("a^b"), &Pow::f);
+ EXPECT_EQ(as_op2("a==b"), &Equal::f);
+ EXPECT_EQ(as_op2("a!=b"), &NotEqual::f);
+ EXPECT_EQ(as_op2("a~=b"), &Approx::f);
+ EXPECT_EQ(as_op2("a<b"), &Less::f);
+ EXPECT_EQ(as_op2("a<=b"), &LessEqual::f);
+ EXPECT_EQ(as_op2("a>b"), &Greater::f);
+ EXPECT_EQ(as_op2("a>=b"), &GreaterEqual::f);
+ EXPECT_EQ(as_op2("a&&b"), &And::f);
+ EXPECT_EQ(as_op2("a||b"), &Or::f);
+ EXPECT_EQ(as_op2("atan2(a,b)"), &Atan2::f);
+ EXPECT_EQ(as_op2("ldexp(a,b)"), &Ldexp::f);
+ EXPECT_EQ(as_op2("pow(a,b)"), &Pow::f);
+ EXPECT_EQ(as_op2("fmod(a,b)"), &Mod::f);
+ EXPECT_EQ(as_op2("min(a,b)"), &Min::f);
+ EXPECT_EQ(as_op2("max(a,b)"), &Max::f);
}
TEST(InlineOperationTest, op2_lambdas_are_recognized_with_different_parameter_names) {
- EXPECT_EQ(lookup_op2(*Function::parse({"x", "y"}, "x+y")).value(), Add::f);
- EXPECT_EQ(lookup_op2(*Function::parse({"x", "y"}, "x-y")).value(), Sub::f);
+ EXPECT_EQ(lookup_op2(*Function::parse({"x", "y"}, "x+y")).value(), &Add::f);
+ EXPECT_EQ(lookup_op2(*Function::parse({"x", "y"}, "x-y")).value(), &Sub::f);
}
TEST(InlineOperationTest, non_op2_lambdas_are_not_recognized) {