summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2017-10-27 10:26:16 +0000
committerHåvard Pettersen <havardpe@oath.com>2017-10-27 10:26:16 +0000
commit9e1bc866e5c8b6ff01461b1d566e2e97e48acb1f (patch)
tree2030fcc0c89afabefc69eceac1ee9a01cb68e2c9
parent114757a3dea6bec9521a7aad8d9495c5f3381b9b (diff)
also test with resolved types
-rw-r--r--eval/src/tests/eval/interpreted_function/interpreted_function_test.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/eval/src/tests/eval/interpreted_function/interpreted_function_test.cpp b/eval/src/tests/eval/interpreted_function/interpreted_function_test.cpp
index 0e548a3b82e..a443ccb3d01 100644
--- a/eval/src/tests/eval/interpreted_function/interpreted_function_test.cpp
+++ b/eval/src/tests/eval/interpreted_function/interpreted_function_test.cpp
@@ -51,18 +51,23 @@ struct MyEvalTest : test::EvalSpec::EvalTest {
if (is_supported && !has_issues) {
vespalib::string desc = as_string(param_names, param_values, expression);
InterpretedFunction::SimpleParams params(param_values);
- verify_result(SimpleTensorEngine::ref(), function, "[simple] "+desc, params, expected_result);
- verify_result(DefaultTensorEngine::ref(), function, " [prod] "+desc, params, expected_result);
+ verify_result(SimpleTensorEngine::ref(), function, false, "[untyped simple] "+desc, params, expected_result);
+ verify_result(DefaultTensorEngine::ref(), function, false, "[untyped prod] "+desc, params, expected_result);
+ verify_result(DefaultTensorEngine::ref(), function, true, "[typed prod] "+desc, params, expected_result);
}
}
void verify_result(const TensorEngine& engine,
const Function &function,
+ bool typed,
const vespalib::string &description,
const InterpretedFunction::SimpleParams &params,
double expected_result)
{
- InterpretedFunction ifun(engine, function, NodeTypes());
+ NodeTypes node_types = typed
+ ? NodeTypes(function, std::vector<ValueType>(params.params.size(), ValueType::double_type()))
+ : NodeTypes();
+ InterpretedFunction ifun(engine, function, node_types);
ASSERT_EQUAL(ifun.num_params(), params.params.size());
InterpretedFunction::Context ictx(ifun);
const Value &result_value = ifun.eval(ictx, params);