summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-12 13:04:33 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-12 13:35:11 +0000
commit45609f96bfe82638e8d136914e61e7bbf2269e74 (patch)
tree07fd52ee987e1872a1250e16433463598073a89d /eval
parent968a9a2a1155fb48d2f6ce7beaed08e73f4ef88f (diff)
use typify_invoke instead of select_1
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_cell_range_function.cpp6
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_lambda_function.cpp9
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.cpp6
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_peek_function.cpp5
4 files changed, 16 insertions, 10 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_cell_range_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_cell_range_function.cpp
index 9b93f5e7d72..84da53c8488 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_cell_range_function.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_cell_range_function.cpp
@@ -25,7 +25,7 @@ void my_cell_range_op(eval::InterpretedFunction::State &state, uint64_t param) {
struct MyCellRangeOp {
template <typename CT>
- static auto get_fun() { return my_cell_range_op<CT>; }
+ static auto invoke() { return my_cell_range_op<CT>; }
};
} // namespace vespalib::tensor::<unnamed>
@@ -46,7 +46,9 @@ DenseCellRangeFunction::compile_self(const TensorEngine &, Stash &) const
{
static_assert(sizeof(uint64_t) == sizeof(this));
assert(result_type().cell_type() == child().result_type().cell_type());
- auto op = select_1<MyCellRangeOp>(result_type().cell_type());
+
+ using MyTypify = eval::TypifyCellType;
+ auto op = typify_invoke<1,MyTypify,MyCellRangeOp>(result_type().cell_type());
return eval::InterpretedFunction::Instruction(op, (uint64_t)this);
}
diff --git a/eval/src/vespa/eval/tensor/dense/dense_lambda_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_lambda_function.cpp
index b60d732d7a9..e373ca09e11 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_lambda_function.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_lambda_function.cpp
@@ -95,7 +95,7 @@ void my_compiled_lambda_op(eval::InterpretedFunction::State &state, uint64_t par
struct MyCompiledLambdaOp {
template <typename CT>
- static auto get_fun() { return my_compiled_lambda_op<CT>; }
+ static auto invoke() { return my_compiled_lambda_op<CT>; }
};
//-----------------------------------------------------------------------------
@@ -131,7 +131,7 @@ void my_interpreted_lambda_op(eval::InterpretedFunction::State &state, uint64_t
struct MyInterpretedLambdaOp {
template <typename CT>
- static auto get_fun() { return my_interpreted_lambda_op<CT>; }
+ static auto invoke() { return my_interpreted_lambda_op<CT>; }
};
//-----------------------------------------------------------------------------
@@ -163,15 +163,16 @@ DenseLambdaFunction::compile_self(const TensorEngine &engine, Stash &stash) cons
{
assert(&engine == &prod_engine);
auto mode = eval_mode();
+ using MyTypify = eval::TypifyCellType;
if (mode == EvalMode::COMPILED) {
CompiledParams &params = stash.create<CompiledParams>(_lambda);
- auto op = select_1<MyCompiledLambdaOp>(result_type().cell_type());
+ auto op = typify_invoke<1,MyTypify,MyCompiledLambdaOp>(result_type().cell_type());
static_assert(sizeof(&params) == sizeof(uint64_t));
return Instruction(op, (uint64_t)(&params));
} else {
assert(mode == EvalMode::INTERPRETED);
InterpretedParams &params = stash.create<InterpretedParams>(_lambda);
- auto op = select_1<MyInterpretedLambdaOp>(result_type().cell_type());
+ auto op = typify_invoke<1,MyTypify,MyInterpretedLambdaOp>(result_type().cell_type());
static_assert(sizeof(&params) == sizeof(uint64_t));
return Instruction(op, (uint64_t)(&params));
}
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.cpp
index 3533ab20175..7e887d4df34 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.cpp
@@ -34,7 +34,7 @@ void my_tensor_create_op(eval::InterpretedFunction::State &state, uint64_t param
struct MyTensorCreateOp {
template <typename CT>
- static auto get_fun() { return my_tensor_create_op<CT>; }
+ static auto invoke() { return my_tensor_create_op<CT>; }
};
size_t get_index(const TensorSpec::Address &addr, const ValueType &type) {
@@ -72,7 +72,9 @@ eval::InterpretedFunction::Instruction
DenseTensorCreateFunction::compile_self(const TensorEngine &, Stash &) const
{
static_assert(sizeof(uint64_t) == sizeof(&_self));
- auto op = select_1<MyTensorCreateOp>(result_type().cell_type());
+
+ using MyTypify = eval::TypifyCellType;
+ auto op = typify_invoke<1,MyTypify,MyTensorCreateOp>(result_type().cell_type());
return eval::InterpretedFunction::Instruction(op, (uint64_t)&_self);
}
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_peek_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_peek_function.cpp
index 5cb1cbfd88f..16c0b01b169 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_peek_function.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_peek_function.cpp
@@ -44,7 +44,7 @@ void my_tensor_peek_op(eval::InterpretedFunction::State &state, uint64_t param)
struct MyTensorPeekOp {
template <typename CT>
- static auto get_fun() { return my_tensor_peek_op<CT>; }
+ static auto invoke() { return my_tensor_peek_op<CT>; }
};
} // namespace vespalib::tensor::<unnamed>
@@ -71,7 +71,8 @@ eval::InterpretedFunction::Instruction
DenseTensorPeekFunction::compile_self(const TensorEngine &, Stash &) const
{
static_assert(sizeof(uint64_t) == sizeof(&_spec));
- auto op = select_1<MyTensorPeekOp>(_children[0].get().result_type().cell_type());
+ using MyTypify = eval::TypifyCellType;
+ auto op = typify_invoke<1,MyTypify,MyTensorPeekOp>(_children[0].get().result_type().cell_type());
return eval::InterpretedFunction::Instruction(op, (uint64_t)&_spec);
}