diff --git a/dnn/src/common/utils.h b/dnn/src/common/utils.h index 5a6a7454b49a0eef8f2039cb6a16cb3bd5092745..5f1877a872aede5667cb1b21078939fda2669248 100644 --- a/dnn/src/common/utils.h +++ b/dnn/src/common/utils.h @@ -667,6 +667,22 @@ struct CompTypeCvter { return m_workspace_bundle->get_workspace(m_workspace_idx); } }; + +/*! + * \brief get TensorND raw_ptr+low_byte pointer. + */ +inline dt_byte* get_low_ptr(const TensorND* tensor) { + return static_cast(tensor->raw_ptr) + + tensor->layout.span().low_byte; +} + +/*! + * \brief get the zero element pointer of TensorND. + */ +inline void* get_origin_ptr(const TensorND* tensor, void* ptr) { + return static_cast(static_cast(ptr) - + tensor->layout.span().low_byte); +} } // namespace megdnn // vim: syntax=cpp.doxygen