2 * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @file SquaredDifference.h
19 * @ingroup COM_AI_RUNTIME
20 * @brief This file defines internal::tflite::op::SquaredDifference::Param struct
21 * and internal::tflite::op::SquaredDifference::Node class
23 #ifndef __INTERNAL_OP_SQUAREDDIFFERENCE_H__
24 #define __INTERNAL_OP_SQUAREDDIFFERENCE_H__
26 #include "internal/op/Node.h"
36 namespace SquaredDifference
40 * @brief Struct to have indexes for operation parameter
44 int32_t ofm_index; /**< Index of output feature map */
46 int32_t lhs_index; /**< Index of lhs */
47 int32_t rhs_index; /**< Index of rhs */
49 * @brief Construct as default
53 * @brief Construct a new Param object with params
54 * @param[in] inputCount Count of inputs
55 * @param[in] inputs Pointer of inputs
56 * @param[in] outputCount Count of outputs
57 * @param[in] outputs Pointer of outputs
59 Param(uint32_t inputCount, const uint32_t *inputs, uint32_t outputCount, const uint32_t *outputs);
63 * @brief Class to represent an operation of data structure
65 class Node final : public op::Node
69 * @brief Construct a new Node object with param
70 * @param[in] param Param object that makes up a Node
72 Node(const Param ¶m) : _param(param)
79 * @brief Destruct as default
81 virtual ~Node() = default;
85 * @brief Get a reference of Param object
86 * @return Reference of Param object
88 const Param ¶m(void) const { return _param; }
92 * @brief Visit this Node by NodeVisitor
95 void accept(NodeVisitor &&) const override;
101 } // namespace SquaredDifference
103 } // namespace tflite
104 } // namespace internal
106 #endif // __INTERNAL_OP_SQUAREDDIFFERENCE_H__