template <typename src_t> \
struct
name##ElementKernel :
public UnaryElementKernel { \
using UnaryElementKernel::UnaryElementKernel; \
void operator()(int64_t i) { \
const src_t* src =
indexer.GetInputPtr<src_t>(0, i); \
src_t* dst =
indexer.GetOutputPtr<src_t>(i); \
*dst = static_cast<src_t>(elem_op(static_cast<double>(*src))); \
} \
}; \
template <> \
struct
name##ElementKernel<float> :
public UnaryElementKernel { \
using UnaryElementKernel::UnaryElementKernel; \
void operator()(int64_t i) { \
const
float* src =
indexer.GetInputPtr<
float>(0, i); \
float* dst =
indexer.GetOutputPtr<
float>(i); \
*dst = elem_op(*src); \
} \
}
Indexer indexer
Definition: UnaryEWSYCL.cpp:33