7 #include "../TfLiteParser.hpp" 15 explicit ComparisonFixture(
const std::string& operatorCode,
16 const std::string& dataType,
17 const std::string& inputShape,
18 const std::string& inputShape2,
19 const std::string& outputShape)
24 "operator_codes": [ { "builtin_code": )" + operatorCode + R"( } ], 28 "shape": )" + inputShape + R"(, 29 "type": )" + dataType + R"( , 31 "name": "inputTensor", 40 "shape": )" + inputShape2 + R"(, 41 "type": )" + dataType + R"( , 43 "name": "inputTensor2", 52 "shape": )" + outputShape + R"( , 55 "name": "outputTensor", 71 "custom_options_format": "FLEXBUFFERS" 85 struct SimpleEqualFixture :
public ComparisonFixture
87 SimpleEqualFixture() : ComparisonFixture(
"EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
95 {{
"inputTensor", { 0, 1, 2, 3 }},
96 {
"inputTensor2", { 0, 1, 5, 6 }}},
97 {{
"outputTensor", { 1, 1, 0, 0 }}});
100 struct BroadcastEqualFixture :
public ComparisonFixture
102 BroadcastEqualFixture() : ComparisonFixture(
"EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
110 {{
"inputTensor", { 0, 1, 2, 3 }},
111 {
"inputTensor2", { 0, 1 }}},
112 {{
"outputTensor", { 1, 1, 0, 0 }}});
115 struct SimpleNotEqualFixture :
public ComparisonFixture
117 SimpleNotEqualFixture() : ComparisonFixture(
"NOT_EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
125 {{
"inputTensor", { 0, 1, 2, 3 }},
126 {
"inputTensor2", { 0, 1, 5, 6 }}},
127 {{
"outputTensor", { 0, 0, 1, 1 }}});
130 struct BroadcastNotEqualFixture :
public ComparisonFixture
132 BroadcastNotEqualFixture() : ComparisonFixture(
"NOT_EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
140 {{
"inputTensor", { 0, 1, 2, 3 }},
141 {
"inputTensor2", { 0, 1 }}},
142 {{
"outputTensor", { 0, 0, 1, 1 }}});
145 struct SimpleGreaterFixture :
public ComparisonFixture
147 SimpleGreaterFixture() : ComparisonFixture(
"GREATER",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
155 {{
"inputTensor", { 0, 2, 3, 6 }},
156 {
"inputTensor2", { 0, 1, 5, 3 }}},
157 {{
"outputTensor", { 0, 1, 0, 1 }}});
160 struct BroadcastGreaterFixture :
public ComparisonFixture
162 BroadcastGreaterFixture() : ComparisonFixture(
"GREATER",
"UINT8",
"[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
170 {{
"inputTensor", { 5, 4, 1, 0 }},
171 {
"inputTensor2", { 2, 3 }}},
172 {{
"outputTensor", { 1, 1, 0, 0 }}});
175 struct SimpleGreaterOrEqualFixture :
public ComparisonFixture
177 SimpleGreaterOrEqualFixture() : ComparisonFixture(
"GREATER_EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
185 {{
"inputTensor", { 0, 2, 3, 6 }},
186 {
"inputTensor2", { 0, 1, 5, 3 }}},
187 {{
"outputTensor", { 1, 1, 0, 1 }}});
190 struct BroadcastGreaterOrEqualFixture :
public ComparisonFixture
192 BroadcastGreaterOrEqualFixture() : ComparisonFixture(
"GREATER_EQUAL",
"UINT8",
193 "[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
201 {{
"inputTensor", { 5, 4, 1, 0 }},
202 {
"inputTensor2", { 2, 4 }}},
203 {{
"outputTensor", { 1, 1, 0, 0 }}});
206 struct SimpleLessFixture :
public ComparisonFixture
208 SimpleLessFixture() : ComparisonFixture(
"LESS",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
216 {{
"inputTensor", { 0, 2, 3, 6 }},
217 {
"inputTensor2", { 0, 1, 5, 3 }}},
218 {{
"outputTensor", { 0, 0, 1, 0 }}});
221 struct BroadcastLessFixture :
public ComparisonFixture
223 BroadcastLessFixture() : ComparisonFixture(
"LESS",
"UINT8",
"[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
231 {{
"inputTensor", { 5, 4, 1, 0 }},
232 {
"inputTensor2", { 2, 3 }}},
233 {{
"outputTensor", { 0, 0, 1, 1 }}});
236 struct SimpleLessOrEqualFixture :
public ComparisonFixture
238 SimpleLessOrEqualFixture() : ComparisonFixture(
"LESS_EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 2, 2 ]",
"[ 2, 2 ]") {}
246 {{
"inputTensor", { 0, 2, 3, 6 }},
247 {
"inputTensor2", { 0, 1, 5, 3 }}},
248 {{
"outputTensor", { 1, 0, 1, 0 }}});
251 struct BroadcastLessOrEqualFixture :
public ComparisonFixture
253 BroadcastLessOrEqualFixture() : ComparisonFixture(
"LESS_EQUAL",
"UINT8",
"[ 2, 2 ]",
"[ 1, 2 ]",
"[ 2, 2 ]") {}
261 {{
"inputTensor", { 5, 4, 1, 0 }},
262 {
"inputTensor2", { 1, 3 }}},
263 {{
"outputTensor", { 0, 0, 1, 1 }}});
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
TEST_SUITE("TensorflowLiteParser_Comparison")
void Setup(bool testDynamic=true)