diff options
Diffstat (limited to 'runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h')
-rw-r--r-- | runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h | 110 |
1 files changed, 91 insertions, 19 deletions
diff --git a/runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h b/runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h index d5da17d66..329ccecb7 100644 --- a/runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h +++ b/runtimes/pure_arm_compute/src/internal/op/MaxPool2D.h @@ -14,6 +14,12 @@ * limitations under the License. */ +/** + * @file MaxPool2D.h + * @brief This file contains accept function and params for MaxPool2D operation + * @ingroup COM_AI_RUNTIME + */ + #ifndef __INTERNAL_OP_MAX_POOL_2D_H__ #define __INTERNAL_OP_MAX_POOL_2D_H__ @@ -32,44 +38,77 @@ namespace MaxPool2D namespace Explicit { +/** + * @brief Struct of MaxPool2D(Explicit) operation's param + */ struct Param { - int32_t ofm_index; + int32_t ofm_index; /**< Output format index */ - int32_t ifm_index; + int32_t ifm_index; /**< Input format index */ - int32_t kw_index; - int32_t kh_index; + int32_t kw_index; /**< Kernel width index */ + int32_t kh_index; /**< Kernel height index */ - int32_t hstride_index; - int32_t vstride_index; + int32_t hstride_index; /**< Horizontal stride index */ + int32_t vstride_index; /**< Vertical stride index */ - int32_t padding_left_index; - int32_t padding_right_index; - int32_t padding_top_index; - int32_t padding_bottom_index; + int32_t padding_left_index; /**< Left padding index */ + int32_t padding_right_index; /**< Right padding index */ + int32_t padding_top_index; /**< Top padding index */ + int32_t padding_bottom_index; /**< Bottom padding index */ - int32_t activation_index; + int32_t activation_index; /**< Activation index */ + /** + * @brief Construct a new Param object for MaxPool2D(Explicit) as default + */ Param() = default; + + /** + * @brief Construct a new Param object for MaxPool2D(Explicit) with params + * @param [in] inputCount The number of input + * @param [in] inputs Array containing inputs + * @param [in] outputCount The number of output + * @param [in] outputs Array containing outputs + */ Param(uint32_t inputCount, const uint32_t *inputs, uint32_t outputCount, const uint32_t *outputs); }; +/** + * @brief Class to define operation node for MaxPool2D(Explicit) + */ class Node final : public op::Node { public: + /** + * @brief Construct a new Node object for MaxPool2D(Explicit) with param + * @param [in] param Parameters for Node + */ Node(const Param ¶m) : _param(param) { // DO NOTHING } public: + /** + * @brief Destroy the Node object for MaxPool2D(Explicit) + */ virtual ~Node() = default; public: + /** + * @brief Get parameters for MaxPool2D(Explicit) + * @return Parameters of MaxPool2D(Explicit) + */ const Param ¶m(void) const { return _param; } public: + /** + * @brief Function for accepting node for MaxPool2D(Explicit) + * @param [in] v Node visitor for invoking visit function of MaxPool2D(Explicit) + * @return N/A + */ void accept(NodeVisitor &&) const override; private: @@ -81,40 +120,73 @@ private: namespace Implicit { +/** + * @brief Struct of MaxPool2D(Implicit) operation's param + */ struct Param { - int32_t ofm_index; + int32_t ofm_index; /**< Output format index */ - int32_t ifm_index; + int32_t ifm_index; /**< Input format index */ - int32_t kw_index; - int32_t kh_index; + int32_t kw_index; /**< Kernel width index */ + int32_t kh_index; /**< Kernel height index */ - int32_t hstride_index; - int32_t vstride_index; + int32_t hstride_index; /**< Horizontal stride index */ + int32_t vstride_index; /**< Vertical stride index */ - int32_t padding_index; - int32_t activation_index; + int32_t padding_index; /**< Padding index */ + int32_t activation_index; /**< Activation index */ + /** + * @brief Construct a new Param object for MaxPool2D(Implicit) as default + */ Param() = default; + + /** + * @brief Construct a new Param object for MaxPool2D(Implicit) with params + * @param [in] inputCount The number of input + * @param [in] inputs Array containing inputs + * @param [in] outputCount The number of output + * @param [in] outputs Array containing outputs + */ Param(uint32_t inputCount, const uint32_t *inputs, uint32_t outputCount, const uint32_t *outputs); }; +/** + * @brief Class to define operation node for MaxPool2D(Implicit) + */ class Node final : public op::Node { public: + /** + * @brief Construct a new Node object for MaxPool2D(Implicit) with param + * @param [in] param Parameters for Node + */ Node(const Param ¶m) : _param(param) { // DO NOTHING } public: + /** + * @brief Destroy the Node object for MaxPool2D(Implicit) + */ virtual ~Node() = default; public: + /** + * @brief Get parameters for MaxPool2D(Implicit) + * @return Parameters of MaxPool2D(Implicit) + */ const Param ¶m(void) const { return _param; } public: + /** + * @brief Function for accepting node for MaxPool2D(Implicit) + * @param [in] v Node visitor for invoking visit function of MaxPool2D(Implicit) + * @return N/A + */ void accept(NodeVisitor &&) const override; private: |